IPPROTO_DIVERT and PF_INET6

Julian Elischer julian at elischer.org
Mon May 5 23:18:55 UTC 2008


Edwin Groothuis wrote:
> On Mon, May 05, 2008 at 01:15:29PM -0700, Julian Elischer wrote:
>>> This should provide a direct answer to you question of "why"?  But I
>>> suspect the underlying question is why divert sockets aren't supported
>>> for IPv6.  I don't know why.
>> because no=one has done it and because divert sockaddrs are ipv4 sockaddrs
>>
>> you would have to make a new divert6 protocol.
>> That's not impossible, but no-one has done it.
> 
> I've been looking at it, with hints from rwatson@ and bms@, but the
> problem right now lays in the way you can do dynamic protocol
> registrations with IPv4 but not yet with IPv6. Every time when I
> get one step further I end up with a new problem :-(
> 
> Let's call it a learning excercise!
> 
> Edwin

you could implement a whole new protocol family of which there
was a single protocol..  divert.
     so you would open a socket of type.

      sock = socket(PF_DIVERT, SOCK_RAW, DIVPROTO_6);
instead of

         sin = socket(PF_INET6, SOCK_RAW, IPPROTO_DIVERT);


More information about the freebsd-net mailing list