Developing New Socket Option on 4.10

Chuck Swiger cswiger at mac.com
Tue Jan 24 18:39:37 PST 2006


Haisang Wu wrote:
>   I am writing for help on my freebsd kernel hacking. I am working on 4.10,
> and intend to introduct a new socket option (say, SO_TAG_PAK)
> for my own kernel. When sending out a packet, if this option is set, the
> socket layer will produce a 20-byte tag, and finally this tag will be
> prepended before IP header (may be done in ip_output() ). This is somewhat
> like MPLS's shim layer, but this special packet with the tag will only be
> sent over a logical tunnel to another system. When receiving a packet, the
> IP layer will check whether the packet has this tag (through the
> first integer of the tag), and pass the tag up (to applications).

If you want to write your own protocol which wraps IP, OK, but there are easier
ways of passing out-of-band data to the application layer.

Consider either setting up a new IP-layer option, a new TCP-layer option, or
just using TCP's urgent pointer to send OOB data.  Twenty bytes would fit just
fine inside the existing protocols, and you would be able to take advantage of
hardware support for Rx and Tx checksums, etc, etc.

-- 
-Chuck


More information about the freebsd-net mailing list