diff options
author | Jason Wang <jasowang@redhat.com> | 2014-11-26 04:21:14 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-11-29 23:44:27 -0500 |
commit | a523a5ecc8c6ddceb8f783f600605553e5ad8963 (patch) | |
tree | 144d7b5bdd72b0048cbc813422194486bfd15e5f /drivers/net/macvlan.c | |
parent | 799d2fff1858004526ad75d66a5dd8a5cce6ad40 (diff) |
macvlan: delay the header check for dodgy packets into lower device
We do header check twice for a dodgy packet. One is done before
macvlan_start_xmit(), another is done before lower device's
ndo_start_xmit(). The first one seems redundant so this patch tries to
delay header check until a packet reaches its lower device (or macvtap)
through always enabling NETIF_F_GSO_ROBUST for macvlan device.
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index bfb0b6ec8c56..11d4b3506d6e 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
@@ -742,11 +742,12 @@ static struct lock_class_key macvlan_netdev_xmit_lock_key; | |||
742 | static struct lock_class_key macvlan_netdev_addr_lock_key; | 742 | static struct lock_class_key macvlan_netdev_addr_lock_key; |
743 | 743 | ||
744 | #define ALWAYS_ON_FEATURES \ | 744 | #define ALWAYS_ON_FEATURES \ |
745 | (NETIF_F_SG | NETIF_F_GEN_CSUM | NETIF_F_GSO_SOFTWARE | NETIF_F_LLTX) | 745 | (NETIF_F_SG | NETIF_F_GEN_CSUM | NETIF_F_GSO_SOFTWARE | NETIF_F_LLTX | \ |
746 | NETIF_F_GSO_ROBUST) | ||
746 | 747 | ||
747 | #define MACVLAN_FEATURES \ | 748 | #define MACVLAN_FEATURES \ |
748 | (NETIF_F_SG | NETIF_F_ALL_CSUM | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | \ | 749 | (NETIF_F_SG | NETIF_F_ALL_CSUM | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | \ |
749 | NETIF_F_GSO | NETIF_F_TSO | NETIF_F_UFO | NETIF_F_GSO_ROBUST | \ | 750 | NETIF_F_GSO | NETIF_F_TSO | NETIF_F_UFO | \ |
750 | NETIF_F_TSO_ECN | NETIF_F_TSO6 | NETIF_F_GRO | NETIF_F_RXCSUM | \ | 751 | NETIF_F_TSO_ECN | NETIF_F_TSO6 | NETIF_F_GRO | NETIF_F_RXCSUM | \ |
751 | NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_HW_VLAN_STAG_FILTER) | 752 | NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_HW_VLAN_STAG_FILTER) |
752 | 753 | ||