ipvlan: forbid vlan devices on top of ipvlan
authorPaolo Abeni <pabeni@redhat.com>
Fri, 2 Mar 2018 15:03:32 +0000 (16:03 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Mar 2018 23:39:54 +0000 (18:39 -0500)
Currently we allow the creation of 8021q devices on top of
ipvlan, but such devices are nonfunctional, as the underlying
ipvlan rx_hanlder hook can't match the relevant traffic.

Be explicit and forbid the creation of such nonfunctional devices.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipvlan/ipvlan_main.c

index 3efc1c92c6a7568edf9529153adfaa0f8294a7d4..4cbe9e27287d95e33d745c6551d3af26601578ae 100644 (file)
@@ -178,7 +178,7 @@ static int ipvlan_init(struct net_device *dev)
        dev->state = (dev->state & ~IPVLAN_STATE_MASK) |
                     (phy_dev->state & IPVLAN_STATE_MASK);
        dev->features = phy_dev->features & IPVLAN_FEATURES;
-       dev->features |= NETIF_F_LLTX;
+       dev->features |= NETIF_F_LLTX | NETIF_F_VLAN_CHALLENGED;
        dev->gso_max_size = phy_dev->gso_max_size;
        dev->gso_max_segs = phy_dev->gso_max_segs;
        dev->hard_header_len = phy_dev->hard_header_len;