Behavior of SO_BINDTODEVICE

From: kristrev
Date: Tue Nov 11 2008 - 05:34:36 EST


Hello,

I have a question relate to the SO_BINDTODEVICE sockopt. On one of my
machines, it works perfectly and I am able to connect using specific
interfaces. On my laptop, however, one of the interfaces refuses to
transfer/receive any data.

The actual sockopt-call is successful and all the interfaces work (tested
them individually adjusting the metric in the routing table), leading me
to believe this is a routing table-related problem. My routing table
currently looks like this:

10.80.17.0/24 dev eth1 proto kernel scope link src 10.80.17.192
metric 10
192.168.100.0/23 dev eth0 proto kernel scope link src 192.168.101.14
192.168.100.0/23 dev wlan0 proto kernel scope link src 192.168.101.231
metric 100
default via 192.168.100.1 dev eth0
default via 10.80.17.1 dev eth1 metric 10
default via 192.168.100.1 dev wlan0 metric 100

The one thing that puzzles me is that, with the exception of an additional
interface and different IP-addresses, this is exactly the same as on my
other machine (where it works). The only major difference, as far as I
can tell, is that they run different kernels (2.6.23.8 vs 2.6.27.7, but
looking at the mailing lists I couldn't find any sign that the behavior of
SO_BINDTODEVICE has been altered.

Does anyone have any hints or suggestions?

Thanks in advance,
Kristian

--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html