Hi Pat,

Lankswert, Patrick wrote:
> Where supported IPV6_RECVPKTINFO is a nice alternative where it is supported, 

Yes, but only where it is supported :-)
(In my parts of the woods it's near universal, but I'm not even close to
having the widest range of systems available to me).

> but the last time that I looked there was not a good way to specify which 
> interface that a packet should be sent *from* other than having a socket 
> bound to each interface.

For a split-horizon system (e.g., a firewall with multiple interfaces
with similar routes), just binding the sockets to an address may not work:
The kernel is still using the routing table to find the outgoing
interface, and that may have a "better" (but still unwanted) path via an
interface with an address that the socket is not bound to.

Hence hacks such as SO_BINDTODEVICE (which appears to be Linux only).
According to RFC 3542 [1], IPV6_PKTINFO does have an outgoing interface
index.  I haven't done the necessary research here to see how well that
is implemented.  It will probably pay to talk to the DHCP and DNS
implementer community; they have lots of experience with this issue.

Gr??e, Carsten

[1]: http://tools.ietf.org/html/rfc3542#section-6

Reply via email to