NETIF_F_TSO
vp->dev->hw_features |= (NETIF_F_TSO | NETIF_F_GRO);
NETIF_F_TSO | NETIF_F_GRO);
(NETIF_F_TSO | NETIF_F_GSO | NETIF_F_GRO);
NETIF_F_TSO | NETIF_F_GSO | NETIF_F_GRO);
(NETIF_F_TSO | NETIF_F_GSO | NETIF_F_GRO);
NETIF_F_TSO | NETIF_F_GSO | NETIF_F_GRO);
priv->dev->hw_features |= NETIF_F_TSO;
features &= ~(NETIF_F_IP_CSUM | NETIF_F_TSO);
dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
#if defined(NETIF_F_TSO)
NETIF_F_SG | NETIF_F_TSO |
dev_features |= NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
ndev->features |= NETIF_F_TSO | NETIF_F_RXCSUM;
if (ndev->features & NETIF_F_TSO) {
NETIF_F_LRO | NETIF_F_TSO | NETIF_F_TSO6;
NETIF_F_TSO | \
NETIF_F_TSO | \
NETIF_F_TSO | \
features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
NETIF_F_TSO |
NETIF_F_TSO |
features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
netdev->hw_features = NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_TSO |
netdev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO | NETIF_F_TSO_ECN |
NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 |
NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 |
NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 | NETIF_F_HIGHDMA;
if (bp->dev->features & NETIF_F_TSO)
NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_TSO | NETIF_F_TSO6 |
features |= NETIF_F_TSO;
~(NETIF_F_TSO | NETIF_F_TSO6));
NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_VLAN_CTAG_TX |
NETIF_F_TSO | NETIF_F_TSO6;
#define MACB_NETIF_LSO NETIF_F_TSO
if ((request & NETIF_F_TSO) && !(lio->dev_capability & NETIF_F_TSO))
request &= ~NETIF_F_TSO;
| NETIF_F_TSO | NETIF_F_TSO6
| NETIF_F_TSO | NETIF_F_TSO6
if ((request & NETIF_F_TSO) && !(lio->dev_capability & NETIF_F_TSO))
request &= ~NETIF_F_TSO;
| NETIF_F_TSO | NETIF_F_TSO6
| NETIF_F_TSO | NETIF_F_TSO6
NETIF_F_TSO | NETIF_F_GRO | NETIF_F_TSO6 |
NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6;
netdev->hw_features |= NETIF_F_TSO;
netdev->features |= NETIF_F_TSO;
netdev->hard_header_len += (netdev->hw_features & NETIF_F_TSO) ?
if (adapter->port[0].dev->hw_features & NETIF_F_TSO)
if (sge->adapter->port[0].dev->hw_features & NETIF_F_TSO)
if (adapter->port[0].dev->hw_features & NETIF_F_TSO)
#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN)
NETIF_F_TSO | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_RX;
#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN | \
NETIF_F_TSO | NETIF_F_TSO6;
#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN)
netdev->hw_features |= NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
NETIF_F_TSO | NETIF_F_TSO6 |
netdev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 |
netdev->vlan_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_HW_TC | NETIF_F_TSO;
NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_TSO | NETIF_F_TSO6;
NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_TSO | NETIF_F_TSO6;
| NETIF_F_RXCSUM | NETIF_F_SG | NETIF_F_TSO);
#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN | \
dev->hw_features |= NETIF_F_TSO;
if (features & (NETIF_F_TSO | NETIF_F_TSO6))
features &= ~(NETIF_F_TSO | NETIF_F_TSO6 |
ndev->features |= NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_NTUPLE;
NETIF_F_GRO | NETIF_F_TSO | NETIF_F_TSO6;
ndev->vlan_features |= NETIF_F_TSO | NETIF_F_TSO6;
NETIF_F_GRO | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO_GRE |
if (changed & NETIF_F_TSO) {
ret = hinic_port_set_tso(nic_dev, (features & NETIF_F_TSO) ?
failed_features |= NETIF_F_TSO;
NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN |
tso_fts |= NETIF_F_TSO | NETIF_F_TSO6;
if (changed & NETIF_F_TSO)
SET_FEATURES_OP_STR(wanted_features & NETIF_F_TSO));
dev->hw_features = NETIF_F_SG | NETIF_F_TSO |
dev->features = NETIF_F_SG | NETIF_F_TSO |
dev->vlan_features = NETIF_F_SG | NETIF_F_TSO | NETIF_F_HIGHDMA |
dev->features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
int large_send = !!(features & (NETIF_F_TSO | NETIF_F_TSO6));
features & ~(NETIF_F_TSO | NETIF_F_TSO6);
netdev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
netdev->hw_features |= NETIF_F_TSO;
adapter->netdev->hw_features |= NETIF_F_TSO;
netdev->hw_features |= NETIF_F_TSO;
netdev->vlan_features |= (NETIF_F_TSO |
if (changed & (NETIF_F_TSO | NETIF_F_TSO6))
NETIF_F_TSO |
netdev->features &= ~NETIF_F_TSO;
netdev->features |= NETIF_F_TSO;
netdev->features &= ~NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
netdev->mpls_features |= NETIF_F_TSO;
NETIF_F_TSO |
if (!(netdev->wanted_features & NETIF_F_TSO) ||
netdev->features &= ~NETIF_F_TSO;
tso_features = NETIF_F_TSO |
NETIF_F_TSO |
tso_offloads |= NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
features &= ~NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
features &= ~NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
features &= ~NETIF_F_TSO;
netdev->features |= NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
features &= ~NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
features &= ~NETIF_F_TSO;
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
NETIF_F_TSO |
dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO;
features &= ~(NETIF_F_IP_CSUM | NETIF_F_TSO);
NETIF_F_TSO | NETIF_F_RXCSUM;
NETIF_F_TSO;
if (features & NETIF_F_TSO)
netdev->hw_features |= NETIF_F_TSO;
if ((feat & (NETIF_F_TSO)) && (skb_is_gso(skb))) {
netdev->hw_features |= NETIF_F_TSO;
if ((feat & (NETIF_F_TSO)) && (skb_is_gso(skb))) {
if (features & NETIF_F_TSO)
NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6);
#define SKY2_VLAN_OFFLOADS (NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO)
features &= ~(NETIF_F_TSO | NETIF_F_SG | NETIF_F_CSUM_MASK);
dev->hw_features |= NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO;
NETIF_F_SG | NETIF_F_TSO | \
dev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
NETIF_F_TSO | NETIF_F_TSO6 |
netdev->vlan_features |= NETIF_F_TSO;
netdev->mpls_features |= NETIF_F_TSO;
netdev->hw_enc_features |= NETIF_F_TSO;
netdev->hw_features |= NETIF_F_TSO;
netdev->hw_features |= NETIF_F_TSO;
NETIF_F_TSO |
features &= ~NETIF_F_TSO;
if (skb_gso_features & NETIF_F_TSO)
adapter->netdev->features = NETIF_F_SG | NETIF_F_TSO |
ndev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
netdev->vlan_features &= ~NETIF_F_TSO;
mgp->features = NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_TSO;
if (changed & (NETIF_F_TSO | NETIF_F_TSO6)) {
if (features & (NETIF_F_TSO | NETIF_F_TSO6))
netdev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
netdev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
NETIF_F_TSO | NETIF_F_RXCSUM;
if (features & NETIF_F_TSO)
NETIF_F_TSO |
netdev->hw_enc_features |= NETIF_F_TSO;
netdev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
if ((netdev->features & (NETIF_F_TSO | NETIF_F_TSO6)) &&
if (edev->ndev->features & NETIF_F_TSO)
NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_TC;
NETIF_F_SG | NETIF_F_TSO |
features &= ~NETIF_F_TSO;
features |= NETIF_F_TSO;
features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
NETIF_F_TSO |
netdev->features |= (NETIF_F_TSO | NETIF_F_TSO6);
netdev->vlan_features |= (NETIF_F_TSO | NETIF_F_TSO6);
NETIF_F_TSO |
NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_VLAN_CTAG_RX |
NETIF_F_TSO | NETIF_F_TSO6;
features &= ~NETIF_F_TSO;
dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
dev->hw_features |= NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO;
dev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6;
dev->hw_features |= NETIF_F_SG | NETIF_F_TSO;
NETIF_F_TSO | NETIF_F_IPV6_CSUM |
NETIF_F_TSO | NETIF_F_RXCSUM |
dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
NETIF_F_RXCSUM | NETIF_F_TSO | NETIF_F_TSO6 |
tso_feats = NETIF_F_TSO | NETIF_F_TSO6;
netdev_features_t tso = NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO_PARTIAL |
if (!(efx->net_dev->features & NETIF_F_TSO))
net_dev->features |= NETIF_F_TSO | NETIF_F_TSO6;
NETIF_F_TSO | NETIF_F_RXCSUM | NETIF_F_RXALL);
if (features & NETIF_F_TSO)
ndev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
dev->hw_features = NETIF_F_TSO | NETIF_F_GSO | NETIF_F_ALL_TSO |
segs = skb_gso_segment(skb, dev->features & ~NETIF_F_TSO);
netdev->hw_features = NETIF_F_TSO;
ndev->features = NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO |
NETIF_F_TSO | NETIF_F_HW_VLAN_CTAG_TX;
NETIF_F_TSO | NETIF_F_GRO |
NETIF_F_TSO | NETIF_F_GRO | NETIF_F_RXHASH;
NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_TSO |
NETIF_F_TSO | NETIF_F_IPV6_CSUM | \
net->hw_features |= NETIF_F_TSO;
#define TUN_OFFLOADS (NETIF_F_HW_CSUM | NETIF_F_TSO_ECN | NETIF_F_TSO | \
NETIF_F_GSO | NETIF_F_TSO | NETIF_F_LRO | \
#define TUN_OFFLOADS (NETIF_F_HW_CSUM | NETIF_F_TSO_ECN | NETIF_F_TSO | \
NETIF_F_TSO;
NETIF_F_TSO |
feature_mask |= NETIF_F_TSO;
if (feature_mask & (NETIF_F_TSO | NETIF_F_TSO6) ||
#define TUN_USER_FEATURES (NETIF_F_HW_CSUM|NETIF_F_TSO_ECN|NETIF_F_TSO| \
#define PLAIN_GSO (NETIF_F_GSO_UDP_L4 | NETIF_F_TSO | NETIF_F_TSO6)
features |= NETIF_F_TSO;
NETIF_F_TSO | NETIF_F_HW_VLAN_CTAG_TX |\
NETIF_F_TSO | NETIF_F_HW_VLAN_CTAG_FILTER)
NETIF_F_TSO)
NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | NETIF_F_TSO;
dev->net->features |= NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_SG;
NETIF_F_TSO | NETIF_F_FRAGLIST | NETIF_F_IPV6_CSUM |
NETIF_F_TSO | NETIF_F_FRAGLIST |
netdev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
dev->hw_features |= NETIF_F_TSO
dev->hw_features |= NETIF_F_TSO;
NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_TSO | NETIF_F_TSO6 |
netdev->hw_features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
netdev->hw_enc_features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_TSO | NETIF_F_TSO6 |
NETIF_F_TSO | NETIF_F_TSO6;
NETIF_F_TSO | NETIF_F_TSO6)
features &= ~NETIF_F_TSO;
NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_FRAGLIST;
if (features & NETIF_F_TSO &&
features &= ~NETIF_F_TSO;
NETIF_F_TSO | NETIF_F_TSO6;
netdev_features_t ipv4_features = NETIF_F_TSO;
if (changed & NETIF_F_TSO) {
rc = qeth_set_ipa_tso(card, features & NETIF_F_TSO,
changed ^= NETIF_F_TSO;
features &= ~NETIF_F_TSO;
card->dev->hw_features |= NETIF_F_TSO;
card->dev->vlan_features |= NETIF_F_TSO;
if (card->dev->hw_features & (NETIF_F_TSO | NETIF_F_TSO6)) {
card->dev->hw_features |= NETIF_F_TSO |
card->dev->vlan_features |= NETIF_F_TSO |
else if (card->dev->hw_features & NETIF_F_TSO)
if (card->dev->hw_features & (NETIF_F_TSO | NETIF_F_TSO6))
#define NETIF_F_ALL_TSO (NETIF_F_TSO | NETIF_F_TSO6 | \
BUILD_BUG_ON(SKB_GSO_TCPV4 != (NETIF_F_TSO >> NETIF_F_GSO_SHIFT));
if ((features & NETIF_F_TSO) && !(features & NETIF_F_HW_CSUM) &&
features &= ~NETIF_F_TSO;
if ((features & NETIF_F_TSO_MANGLEID) && !(features & NETIF_F_TSO))
if (dev->hw_features & NETIF_F_TSO)
if (dev->vlan_features & NETIF_F_TSO)
if (dev->mpls_features & NETIF_F_TSO)
if (dev->hw_enc_features & NETIF_F_TSO)