Skip site navigation (1)Skip section navigation (2)
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>