Skip to content

Commit 34428df

Browse files
aneftinJeff Kirsher
authored andcommitted
igc: Add GSO partial support
Partial generic segmentation offload is a hybrid between TSO and GSO. What is effectively does is take advantage of certain traits of TCP and tunnels so that instead of having to rewrite the packet headers for each segment only in the inner-most transport header and possible the outer-most network header need to be updated. This allows devices that do not support tunnel offload or tunnels offloads with checksum to still make use of segmentation. Signed-off-by: Sasha Neftin <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
1 parent 2fcd801 commit 34428df

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

drivers/net/ethernet/intel/igc/igc_main.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4727,6 +4727,16 @@ static int igc_probe(struct pci_dev *pdev,
47274727
netdev->features |= NETIF_F_HW_CSUM;
47284728
netdev->features |= NETIF_F_SCTP_CRC;
47294729

4730+
#define IGC_GSO_PARTIAL_FEATURES (NETIF_F_GSO_GRE | \
4731+
NETIF_F_GSO_GRE_CSUM | \
4732+
NETIF_F_GSO_IPXIP4 | \
4733+
NETIF_F_GSO_IPXIP6 | \
4734+
NETIF_F_GSO_UDP_TUNNEL | \
4735+
NETIF_F_GSO_UDP_TUNNEL_CSUM)
4736+
4737+
netdev->gso_partial_features = IGC_GSO_PARTIAL_FEATURES;
4738+
netdev->features |= NETIF_F_GSO_PARTIAL | IGC_GSO_PARTIAL_FEATURES;
4739+
47304740
/* setup the private structure */
47314741
err = igc_sw_init(adapter);
47324742
if (err)

0 commit comments

Comments
 (0)