Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jan 2006 21:39:37 -0500
From:      Chuck Swiger <cswiger@mac.com>
To:        Haisang Wu <haisang@gmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Developing New Socket Option on 4.10
Message-ID:  <43D6E4E9.7010604@mac.com>
In-Reply-To: <de1c88480601241823l5a382c09i2e296c9f30e95292@mail.gmail.com>
References:  <de1c88480601241823l5a382c09i2e296c9f30e95292@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43D6E4E9.7010604>