diff options
author | Jiri Olsa <jolsa@redhat.com> | 2010-04-20 21:21:26 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-21 22:59:24 -0700 |
commit | f4f914b58019f0e50d521bbbadfaee260d766f95 (patch) | |
tree | 7a9690cf187a0b2c0f7583f94668ef307690c9bb /net/socket.c | |
parent | f2228f785a9d97307aa8ba709088cfda6c3df73f (diff) |
net: ipv6 bind to device issue
The issue raises when having 2 NICs both assigned the same
IPv6 global address.
If a sender binds to a particular NIC (SO_BINDTODEVICE),
the outgoing traffic is being sent via the first found.
The bonded device is thus not taken into an account during the
routing.
From the ip6_route_output function:
If the binding address is multicast, linklocal or loopback,
the RT6_LOOKUP_F_IFACE bit is set, but not for global address.
So binding global address will neglect SO_BINDTODEVICE-binded device,
because the fib6_rule_lookup function path won't check for the
flowi::oif field and take first route that fits.
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Scott Otto <scott.otto@alcatel-lucent.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/socket.c')
0 files changed, 0 insertions, 0 deletions