On Fri, May 6, 2016 at 3:48 PM, Alexander Duyck <alexander.du...@gmail.com> wrote: > On 05/06/2016 03:11 PM, Tom Herbert wrote: >> >> This patch defines two new GDO definitions SKB_GSO_IPXIP4 and >> SKB_GSO_IPXIP6 along with corresponding NETIF_F_GSO_IPXIP4 and >> NETIF_F_GSO_IPXIP6. These are used to described IP in IP >> tunnel and what the outer protocol is. The inner protocol >> can be deduced from other GSO types (e.g. SKB_GSO_TCPV4 and >> SKB_GSO_TCPV6). The GSO types of SKB_GSO_IPIP and SKB_GSO_SIT >> are removed (these are both instances of SKB_GSO_IPXIP4). >> SKB_GSO_IPXIP6 will be used when support for GSO with IP >> encapsulation over IPv6 is added. >> >> Signed-off-by: Tom Herbert <t...@herbertland.com> >> --- >> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 5 ++--- >> drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 ++-- >> drivers/net/ethernet/intel/i40e/i40e_main.c | 3 +-- >> drivers/net/ethernet/intel/i40e/i40e_txrx.c | 3 +-- >> drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 3 +-- >> drivers/net/ethernet/intel/i40evf/i40evf_main.c | 3 +-- >> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +-- >> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 3 +-- >> include/linux/netdev_features.h | 12 ++++++------ >> include/linux/netdevice.h | 4 ++-- >> include/linux/skbuff.h | 4 ++-- >> net/core/ethtool.c | 4 ++-- >> net/ipv4/af_inet.c | 2 +- >> net/ipv4/ipip.c | 2 +- >> net/ipv6/ip6_offload.c | 4 ++-- >> net/ipv6/sit.c | 4 ++-- >> net/netfilter/ipvs/ip_vs_xmit.c | 17 +++++++---------- >> 17 files changed, 35 insertions(+), 45 deletions(-) >> >> diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c >> b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c >> index d465bd7..0a5b770 100644 >> --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c >> +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c >> @@ -13259,12 +13259,11 @@ static int bnx2x_init_dev(struct bnx2x *bp, >> struct pci_dev *pdev, >> NETIF_F_RXHASH | NETIF_F_HW_VLAN_CTAG_TX; >> if (!chip_is_e1x) { >> dev->hw_features |= NETIF_F_GSO_GRE | >> NETIF_F_GSO_UDP_TUNNEL | >> - NETIF_F_GSO_IPIP | NETIF_F_GSO_SIT; >> + NETIF_F_GSO_IPXIP4; >> dev->hw_enc_features = >> NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_SG | >> NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 | >> - NETIF_F_GSO_IPIP | >> - NETIF_F_GSO_SIT | >> + NETIF_F_GSO_IPXIP4 | >> NETIF_F_GSO_GRE | NETIF_F_GSO_UDP_TUNNEL; >> } >> >> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c >> b/drivers/net/ethernet/broadcom/bnxt/bnxt.c >> index fd85b6d..e449228 100644 >> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c >> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c >> @@ -6218,7 +6218,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const >> struct pci_device_id *ent) >> dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | >> NETIF_F_SG | >> NETIF_F_TSO | NETIF_F_TSO6 | >> NETIF_F_GSO_UDP_TUNNEL | NETIF_F_GSO_GRE | >> - NETIF_F_GSO_IPIP | NETIF_F_GSO_SIT | >> + NETIF_F_GSO_IPXIP4 | >> NETIF_F_GSO_UDP_TUNNEL_CSUM | >> NETIF_F_GSO_GRE_CSUM | >> NETIF_F_GSO_PARTIAL | NETIF_F_RXHASH | >> NETIF_F_RXCSUM | NETIF_F_LRO | NETIF_F_GRO; >> @@ -6228,7 +6228,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const >> struct pci_device_id *ent) >> NETIF_F_TSO | NETIF_F_TSO6 | >> NETIF_F_GSO_UDP_TUNNEL | NETIF_F_GSO_GRE | >> NETIF_F_GSO_UDP_TUNNEL_CSUM | NETIF_F_GSO_GRE_CSUM >> | >> - NETIF_F_GSO_IPIP | NETIF_F_GSO_SIT | >> + NETIF_F_GSO_IPXIP4; >> NETIF_F_GSO_PARTIAL; >> dev->gso_partial_features = NETIF_F_GSO_UDP_TUNNEL_CSUM | >> NETIF_F_GSO_GRE_CSUM; > > > You should try building the bnxt driver at least if you are making changes > to it. This bit is broken. It should be an '|' and not a ';' here. > > The other bits seem to be correct. I'll try testing this over the next few > hours to see if I can find any other issues.
Huh, that's odd. I'm pretty sure I built drivers/net with allyesconfig with this. Thanks for catching it. > > - Alex