diff options
author | Shmulik Ladkani <shmulik@metanetworks.com> | 2018-08-06 15:00:59 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-08-07 12:36:46 -0700 |
commit | 3789cabaab1a939eb56edd76bbde2c2e49f081da (patch) | |
tree | 2cdd7954b9a01ac6b58f8f0e3e132b86be9fd469 /drivers/net | |
parent | 9ca6163005e6abdf2a39eb581abc6060f677a2d7 (diff) |
ip6_tunnel: collect_md xmit: Use ip_tunnel_key's provided src address
When using an ip6tnl device in collect_md mode, the xmit methods ignore
the ipv6.src field present in skb_tunnel_info's key, both for route
calculation purposes (flowi6 construction) and for assigning the
packet's final ipv6h->saddr.
This makes it impossible specifying a desired ipv6 local address in the
encapsulating header (for example, when using tc action tunnel_key).
This is also not aligned with behavior of ipip (ipv4) in collect_md
mode, where the key->u.ipv4.src gets used.
Fix, by assigning fl6.saddr with given key->u.ipv6.src.
In case ipv6.src is not specified, ip6_tnl_xmit uses existing saddr
selection code.
Fixes: 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels")
Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Reviewed-by: Eyal Birger <eyal.birger@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
0 files changed, 0 insertions, 0 deletions