Commit 0edc535e authored by David S. Miller's avatar David S. Miller

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: default avatarDavid S. Miller <davem@davemloft.net>
parents 0fbd050a 5e52796a
...@@ -1047,6 +1047,7 @@ static const struct net_device_ops macvlan_netdev_ops = { ...@@ -1047,6 +1047,7 @@ static const struct net_device_ops macvlan_netdev_ops = {
.ndo_netpoll_cleanup = macvlan_dev_netpoll_cleanup, .ndo_netpoll_cleanup = macvlan_dev_netpoll_cleanup,
#endif #endif
.ndo_get_iflink = macvlan_dev_get_iflink, .ndo_get_iflink = macvlan_dev_get_iflink,
.ndo_features_check = passthru_features_check,
}; };
void macvlan_common_setup(struct net_device *dev) void macvlan_common_setup(struct net_device *dev)
......
...@@ -961,6 +961,7 @@ static const struct net_device_ops tap_netdev_ops = { ...@@ -961,6 +961,7 @@ static const struct net_device_ops tap_netdev_ops = {
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = tun_poll_controller, .ndo_poll_controller = tun_poll_controller,
#endif #endif
.ndo_features_check = passthru_features_check,
}; };
static void tun_flow_init(struct tun_struct *tun) static void tun_flow_init(struct tun_struct *tun)
......
...@@ -290,6 +290,7 @@ static const struct net_device_ops veth_netdev_ops = { ...@@ -290,6 +290,7 @@ static const struct net_device_ops veth_netdev_ops = {
.ndo_poll_controller = veth_poll_controller, .ndo_poll_controller = veth_poll_controller,
#endif #endif
.ndo_get_iflink = veth_get_iflink, .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 | \ #define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \
......
...@@ -339,6 +339,7 @@ static const struct net_device_ops br_netdev_ops = { ...@@ -339,6 +339,7 @@ static const struct net_device_ops br_netdev_ops = {
.ndo_bridge_getlink = br_getlink, .ndo_bridge_getlink = br_getlink,
.ndo_bridge_setlink = br_setlink, .ndo_bridge_setlink = br_setlink,
.ndo_bridge_dellink = br_dellink, .ndo_bridge_dellink = br_dellink,
.ndo_features_check = passthru_features_check,
}; };
static void br_dev_free(struct net_device *dev) static void br_dev_free(struct net_device *dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment