IPPROTO_DIVERT and PF_INET6

Julian Elischer julian at elischer.org
Wed May 7 06:59:39 UTC 2008


Bruce M. Simpson wrote:
> Julian Elischer wrote:
>> you could implement a whole new protocol family of which there
>> was a single protocol..  divert.
> That's sheer overkill for what Edwin needs to be able to do. We already 
> have a bunch of apps which use divert sockets in the IPv4 space, why 
> should the existing semantics change? Divert sockets are still tied to 
> the transport you instantiate them with, and they have always been a 
> special case anyway depending on where one wishes to draw the lines.
> 
> There is no reason per se, that I can see, why the IPPROTO_DIVERT 
> identifier can't just be re-used along with pf_proto_register() for 
> PF_INET6, and I've said this to Edwin off-list. A PROTO_SPACER entry 
> just needs to be added to in6protosw.
> 
> I was surprised to learn no-one had gone ahead and actually implemented 
> it already as there are a few cases in IPv6 which might warrant it 
> (6to4, Teredo etc.) If I'm missing anything obvious please let me know.
> 
> cheers
> BMS


actually the divert sockets should really not be in PF_INET

they could deliver both inet and inet6 packets.
the sockaddr that they return (and which needs to be read for divert
to make sense) could be used to distinguish between them.



More information about the freebsd-net mailing list