[Click] Question about developing an element of new network layer headers to replace IP headers

Dimitris Syrivelis jsyr at inf.uth.gr
Mon Apr 1 04:51:27 EDT 2013


Hi Lawrence,

If i understand your problem correctly, your issue is on the application
communication side. You can always create an ethernet packet of your choice
within click and send it out from a designated ethernet interface. 
Probably you
have the problem of delivering the packet to click from an application, click
does your new network layer tasks and sends the packet out and vice versa. The
easy way of doing it bring up a virtual ethernet interface, assign an IP to it
and use standard socket API (probably in raw mode) to deliver packets 
to click.
Maybe you can use libpcap instead to inject frames directly. In the blackadder
project where we had the same problem we used netlink sockets instead. You can
find the netlink socket click elements here:
https://github.com/fp7-pursuit/blackadder, under the /src directory. You will
also need the user library, to see how you can drive these elements from the
application layer. We have done several experiments with this code and 
it seems
stable and, at some point soon, we plan to contribute a vanilla version of
fromnetlink and tonetlink to mainline click.

In any case you will need to invest some effort to associate running
applications with your packet streams (you get this for free using TCP and UDP
ports). You have to write your own code either in click or the user space
library so your system knows where to deliver each packet (probably this is
what you want in a clean-slate approach anyway). The blackadder codebase deals
with all these issues (as well as synchronization issues) so it is a good
start.


Hope this helps,

Dimitris


> Hi all,
>
> Our group developed a new network layer protocol in which new network layer
> headers replace IP headers in packets. May I know if we can implement the
> protocol in Click. I took a look at the source code of Click, e.g., the
> todevice and fromdevice modules. It seems that we cannot simply develop an
> element to replace IP headers in Click because IP headers are a must. I am
> not sure if my understanding is correct.
>
> Your comments and suggestions will be greatly appreciated.
>
> Best Regards,
> Lawrence
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>



More information about the click mailing list