]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ipvlan: fix ipv6 outbound device
authorKeefe Liu <liuqifa@huawei.com>
Thu, 9 Nov 2017 12:09:31 +0000 (20:09 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 16 Dec 2017 09:33:56 +0000 (10:33 +0100)
[ Upstream commit ca29fd7cce5a6444d57fb86517589a1a31c759e1 ]

When process the outbound packet of ipv6, we should assign the master
device to output device other than input device.

Signed-off-by: Keefe Liu <liuqifa@huawei.com>
Acked-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ipvlan/ipvlan_core.c

index 8c48bb2a94ea063aa9dd7c4dc662aa772f34930c..af827faec7fe4f74b71977d97d3181553bd3ab5e 100644 (file)
@@ -388,7 +388,7 @@ static int ipvlan_process_v6_outbound(struct sk_buff *skb)
        struct dst_entry *dst;
        int err, ret = NET_XMIT_DROP;
        struct flowi6 fl6 = {
-               .flowi6_iif = dev->ifindex,
+               .flowi6_oif = dev->ifindex,
                .daddr = ip6h->daddr,
                .saddr = ip6h->saddr,
                .flowi6_flags = FLOWI_FLAG_ANYSRC,