diff options
author | David S. Miller <davem@davemloft.net> | 2015-08-03 14:24:50 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-03 14:24:50 -0700 |
commit | 0edc535e96621e41e2d3e7c240e68524d1968807 (patch) | |
tree | bfe9af6d3a54042fd56324e88a042f23ec881ca3 | |
parent | 0fbd050a7d262b74527a289ae75a33626d1060a8 (diff) | |
parent | 5e52796a9a3d56298273030cd438e8015a8d5683 (diff) |
Merge branch 'stacked-vlan-TSO'
Toshiaki Makita says:
====================
Stacked vlan TSO for virtual devices
Basically virtual devices do not need to segment double tagged packets.
This patch set adds TSO feature for double tagged packets to several
virtual devices, which can be realized by simply setting
.ndo_features_check to passthru_features_check.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/macvlan.c | 1 | ||||
-rw-r--r-- | drivers/net/tun.c | 1 | ||||
-rw-r--r-- | drivers/net/veth.c | 1 | ||||
-rw-r--r-- | net/bridge/br_device.c | 1 |
4 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 9f59f17dc317..47da43595ac2 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -1047,6 +1047,7 @@ static const struct net_device_ops macvlan_netdev_ops = { .ndo_netpoll_cleanup = macvlan_dev_netpoll_cleanup, #endif .ndo_get_iflink = macvlan_dev_get_iflink, + .ndo_features_check = passthru_features_check, }; void macvlan_common_setup(struct net_device *dev) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 06a039414628..976aa9704297 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -961,6 +961,7 @@ static const struct net_device_ops tap_netdev_ops = { #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = tun_poll_controller, #endif + .ndo_features_check = passthru_features_check, }; static void tun_flow_init(struct tun_struct *tun) diff --git a/drivers/net/veth.c b/drivers/net/veth.c index c8186ffda1a3..343592c4315f 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c @@ -290,6 +290,7 @@ static const struct net_device_ops veth_netdev_ops = { .ndo_poll_controller = veth_poll_controller, #endif .ndo_get_iflink = veth_get_iflink, + .ndo_features_check = passthru_features_check, }; #define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \ diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index 4ff77a16956c..0aa8f5cf46a1 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@ -339,6 +339,7 @@ static const struct net_device_ops br_netdev_ops = { .ndo_bridge_getlink = br_getlink, .ndo_bridge_setlink = br_setlink, .ndo_bridge_dellink = br_dellink, + .ndo_features_check = passthru_features_check, }; static void br_dev_free(struct net_device *dev) |