new routing protocol

Jerry Toung jtoung at arc.nasa.gov
Tue Aug 19 16:03:15 PDT 2003


dear hackers,
I am in the process of implementing a routing protocol under 5.0.
This routing protocol is source route based and requires its own header after
the ip header and before any other one such as udp,tcp.
	
(ip)(new_rt_hdr)(udp)(paylaod)
	
I am requesting your input as to the best way to approach this. I am thinking 
that the quick way would be to open netinet/ip_input.c and for every packet 
with ip->ip_p = NEW_RT_TYPE do my processing. I am not using routing tables, 
I have another mechanism for routing decisions. and for outgoing packets, 
before sending to the appropriate interface, in netinet/ip_output.c insert 
the new routing header then pass the packet to ifp->if_output.
	
My problem is dealing with debuging and portability. With this raw approach I 
guess I will have to run builkernel and installkernel all the time. How can I 
avoid that? I thought about kernel modules, but I don't know what kind to use 
(SYSCALL_MODULE or DEV_MODULE,etc..) and how about netgraph.? does that make 
sense?
	
somebody give a pointer and I'll figure out how to proceed.
I am not that experienced in kernel programming.
Thanks a lot,
	Jerry.



More information about the freebsd-hackers mailing list