[Xorp-users] Implementing on-demand ad hoc routing protocols using XORP...

pvillanu@site.uottawa.ca pvillanu@site.uottawa.ca
Wed, 26 Apr 2006 16:52:14 -0400 (EDT)


Hello,

I want to use some of the XORP processes (FEA and probably RIB as well)
for implementing ad hoc routing protocols such as DSR (Dynamic Source
Routing). My reason to use the FEA is to make my implementation portable.
So, I want to explain my approach and ask for your feedback about its
feasibility.

My plan is to implement the ad hoc routing protocols using C/C++ and then
make use of the FEA classes 1)To forward Table management, 2) To send and
receive raw packets and, 3) To send and receive TCP/UDP packets. So far is
it OK?, I mean, is it possible to make use of the FEA classes, from any
other C/C++ program, without making use of any other process that is part
of the XORP architecture?

My second question is that for on-demand ad-hoc routing protocols such as
DSR, when a data packet is going to be sent by the source node (presumably
in a multi-hop fashion) it might be the case that there is no path to the
destination node, in such a case, the Route Discovery component of the
routing protocol has to be initiated, and after hopefully obtaining a path
towards the destination (or the next-hop at least), the data packet can be
sent. However, my concern is that when the data packet is going to be sent
and the forwarding engine does not find a next-hop for the destination in
the forwarding table it won't send the packet. What I need is to be able
to initiate the route discovery before the data packet reaches the
forwarding engine (just in the case there is no known route), and once the
route has been discovered the packet can proceed to the forwarding engine.
Is that possible? Is there something in the FEA that would allow me to do
that while the implementation is still portable? If not, any suggestion?

Thanks a lot and sorry for the long posting...


Pedro Villanueva
PhD student
Ottawa University