Subject: [manet] Pointers to modifying the linux kernel for implementation of a routing protocol

From: Abhinav Gupta <[email-masked]>
Date: Mon, 20 Jan 2003 16:08:22 -0700

Hi,

I am trying to modify the linux kernel for implementation of a routing 
protocol for manet on laptops running Linux 7.3 and using  IEEE 802.11b. 
Could someone please give me some pointers about doing the same? 

Thanks.

Abhinav.

_______________________________________________
manet mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/manet

---

From: "Tao Lin" <[email-masked]>
Date: Mon, 20 Jan 2003 18:19:23 -0500

You don't need to touch the linux kernel.  You may refer to the linux
implementation of some other protocols such as OLSR/AODV.

----- Original Message -----
From: "Abhinav Gupta" <[email-masked]>
To: <[email-masked]>
Sent: Monday, January 20, 2003 6:08 PM
Subject: [manet] Pointers to modifying the linux kernel for implementation
of a routing protocol

---

From: "Ankur Jain" <[email-masked]>
Date: Wed, 22 Jan 2003 00:46:57 +0530

Hi Abhinav,

Routing protocol can be implemented in Linux's user space only without
making any modification in kernel code. Existing implementations of DSR may
be of a great help to you.

Regards
Ankur

----- Original Message -----
From: Abhinav Gupta <[email-masked]>
To: <[email-masked]>
Sent: Tuesday, January 21, 2003 4:38 AM
Subject: [manet] Pointers to modifying the linux kernel for implementation
of a routingprotocol

---

From: Ramón Agüero<[email-masked]>
Date: Wed, 22 Jan 2003 09:18:19 +0100

Dear Ankur and Abnihav,

please let me give my two cents contribution:

>be of a great help to you.

I do not fully agree with you. As far as I know there are not many current 
implementations of DSR for Linux, at least I have not been able to find 
them ;-). Please refer to 
http://www1.ietf.org/mail-archive/working-groups/manet/current/msg00056.html. 
The implementation which the message refers to is based on the Netfilter 
framework, but is definitively a kernel development, in the shape of 
loadable modules. If you think about it, this is the only way it can be 
handled (at least DSR). The current draft states that the DSR header (which 
appears on every data packet) has to be placed just between IP and 
transport layer headers. There is no way to make this on the user space... 
(al least to my understanding). What is true is that using this Netfilter 
stuff it is not necessary to hack the kernel itself. The BSD implementation 
of DSR (as far as I know) is based on a virtual network interface.

If you refer to another routing protocol, such as AODV, you are going to 
find much more available implementations (Uppsala, NIST,...). AODV is "much 
more" a user space implementation, as the control messages are transmitted 
over traditional datagram sockets (UDP). But again, there has to be some 
kernel support, normally through the Netfilter architecture.

> > Could someone please give me some pointers about doing the same?

I think that both the Netfilter (www.netfilter.org) and the virtual network 
driver (http://www.linux.it/kerneldocs/vinter/vinter.html) options are 
suitable. Bear in mind that there is a large number of ongoing projects 
based on Netfilter architecture, so I would go for that one. In any case, 
you do not have to "strictly" modify Linux kernel, but just add some new 
functionalities, normally as loadable kernel modules.

HTH

Br, Ramón