[olug] Ping Is Broken
Brian Haley
brian.haley at hp.com
Mon Oct 12 23:30:26 UTC 2009
Jarek Poplawski wrote:
> Brian Haley wrote, On 10/12/2009 10:36 PM:
>
>> In this case ping is doing an SO_BINDTODEVICE to eth0, so the kernel is going
>> to force the packets out of it, even if it isn't the "correct" interface. If
>> you ran tcpdump you'd probably see an ARP resolution failure, or an ICMP from
>> a gateway.
>
> BTW, SO_BINDTODEVICE is used only to acquire a source address, not the real
> connection (unless I miss something).
No, SO_BINDTODEVICE affects routing, as well as incoming packets - it's in macros
like INET_MATCH(), from what I've seen it restricts a socket to only use the device
specified, irregardless of the source address you're using. For example, you can
bind to 127.0.0.1 and send packets out eth0 if sk_bound_dev_if is set to it if I
remember correctly.
-Brian
More information about the OLUG
mailing list