Date: Tue, 24 Jan 2006 19:04:57 -0800 From: Haisang Wu <haisang@gmail.com> To: Chuck Swiger <cswiger@mac.com> Cc: freebsd-net@freebsd.org Subject: Re: Developing New Socket Option on 4.10 Message-ID: <de1c88480601241904h577433cle1c1faf710c21377@mail.gmail.com> In-Reply-To: <43D6E4E9.7010604@mac.com> References: <de1c88480601241823l5a382c09i2e296c9f30e95292@mail.gmail.com> <43D6E4E9.7010604@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Well, I may have some more socket options in the future for the application to fill segments of the 20-byte tag, and the tag may be extended to 40 or 64 bytes, when OOB information increases. How does IPSEC prepend the new header in tunnelling mode? Thanks. Haisang On 1/24/06, Chuck Swiger <cswiger@mac.com> wrote: > > 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, th= e > > 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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?de1c88480601241904h577433cle1c1faf710c21377>