Lines Matching refs:features

1498 	if (unlikely(dev->features & NETIF_F_LRO))  in dev_disable_lro()
2419 name, dev ? &dev->features : &null_features, in skb_warn_bad_offload()
2497 netdev_features_t features) in skb_mac_gso_segment() argument
2512 segs = ptype->callbacks.gso_segment(skb, features); in skb_mac_gso_segment()
2549 netdev_features_t features, bool tx_path) in __skb_gso_segment() argument
2570 return skb_mac_gso_segment(skb, features); in __skb_gso_segment()
2595 if (!(dev->features & NETIF_F_HIGHDMA)) { in illegal_highdma()
2624 netdev_features_t features, in net_mpls_features() argument
2628 features &= skb->dev->mpls_features; in net_mpls_features()
2630 return features; in net_mpls_features()
2634 netdev_features_t features, in net_mpls_features() argument
2637 return features; in net_mpls_features()
2642 netdev_features_t features) in harmonize_features() argument
2648 features = net_mpls_features(skb, features, type); in harmonize_features()
2651 !can_checksum_protocol(features, type)) { in harmonize_features()
2652 features &= ~NETIF_F_ALL_CSUM; in harmonize_features()
2654 features &= ~NETIF_F_SG; in harmonize_features()
2657 return features; in harmonize_features()
2662 netdev_features_t features) in passthru_features_check() argument
2664 return features; in passthru_features_check()
2670 netdev_features_t features) in dflt_features_check() argument
2672 return vlan_features_check(skb, features); in dflt_features_check()
2678 netdev_features_t features = dev->features; in netif_skb_features() local
2682 features &= ~NETIF_F_GSO_MASK; in netif_skb_features()
2689 features &= dev->hw_enc_features; in netif_skb_features()
2692 features = netdev_intersect_features(features, in netif_skb_features()
2698 features &= dev->netdev_ops->ndo_features_check(skb, dev, in netif_skb_features()
2699 features); in netif_skb_features()
2701 features &= dflt_features_check(skb, dev, features); in netif_skb_features()
2703 return harmonize_features(skb, features); in netif_skb_features()
2753 netdev_features_t features) in validate_xmit_vlan() argument
2756 !vlan_hw_offload_capable(features, skb->vlan_proto)) in validate_xmit_vlan()
2763 netdev_features_t features; in validate_xmit_skb() local
2768 features = netif_skb_features(skb); in validate_xmit_skb()
2769 skb = validate_xmit_vlan(skb, features); in validate_xmit_skb()
2773 if (netif_needs_gso(skb, features)) { in validate_xmit_skb()
2776 segs = skb_gso_segment(skb, features); in validate_xmit_skb()
2784 if (skb_needs_linearize(skb, features) && in validate_xmit_skb()
2799 if (!(features & NETIF_F_ALL_CSUM) && in validate_xmit_skb()
3241 !(dev->features & NETIF_F_NTUPLE)) in set_rps_cpu()
4208 if (!(skb->dev->features & NETIF_F_GRO)) in dev_gro_receive()
6303 struct net_device *upper, netdev_features_t features) in netdev_sync_upper_features() argument
6312 && (features & feature)) { in netdev_sync_upper_features()
6315 features &= ~feature; in netdev_sync_upper_features()
6319 return features; in netdev_sync_upper_features()
6323 struct net_device *lower, netdev_features_t features) in netdev_sync_lower_features() argument
6331 if (!(features & feature) && (lower->features & feature)) { in netdev_sync_lower_features()
6337 if (unlikely(lower->features & feature)) in netdev_sync_lower_features()
6345 netdev_features_t features) in netdev_fix_features() argument
6348 if ((features & NETIF_F_HW_CSUM) && in netdev_fix_features()
6349 (features & (NETIF_F_IP_CSUM|NETIF_F_IPV6_CSUM))) { in netdev_fix_features()
6351 features &= ~(NETIF_F_IP_CSUM|NETIF_F_IPV6_CSUM); in netdev_fix_features()
6355 if ((features & NETIF_F_ALL_TSO) && !(features & NETIF_F_SG)) { in netdev_fix_features()
6357 features &= ~NETIF_F_ALL_TSO; in netdev_fix_features()
6360 if ((features & NETIF_F_TSO) && !(features & NETIF_F_HW_CSUM) && in netdev_fix_features()
6361 !(features & NETIF_F_IP_CSUM)) { in netdev_fix_features()
6363 features &= ~NETIF_F_TSO; in netdev_fix_features()
6364 features &= ~NETIF_F_TSO_ECN; in netdev_fix_features()
6367 if ((features & NETIF_F_TSO6) && !(features & NETIF_F_HW_CSUM) && in netdev_fix_features()
6368 !(features & NETIF_F_IPV6_CSUM)) { in netdev_fix_features()
6370 features &= ~NETIF_F_TSO6; in netdev_fix_features()
6374 if ((features & NETIF_F_ALL_TSO) == NETIF_F_TSO_ECN) in netdev_fix_features()
6375 features &= ~NETIF_F_TSO_ECN; in netdev_fix_features()
6378 if ((features & NETIF_F_GSO) && !(features & NETIF_F_SG)) { in netdev_fix_features()
6380 features &= ~NETIF_F_GSO; in netdev_fix_features()
6384 if (features & NETIF_F_UFO) { in netdev_fix_features()
6386 if (!((features & NETIF_F_GEN_CSUM) || in netdev_fix_features()
6387 (features & (NETIF_F_IP_CSUM|NETIF_F_IPV6_CSUM)) in netdev_fix_features()
6391 features &= ~NETIF_F_UFO; in netdev_fix_features()
6394 if (!(features & NETIF_F_SG)) { in netdev_fix_features()
6397 features &= ~NETIF_F_UFO; in netdev_fix_features()
6403 features |= NETIF_F_BUSY_POLL; in netdev_fix_features()
6406 features &= ~NETIF_F_BUSY_POLL; in netdev_fix_features()
6408 return features; in netdev_fix_features()
6414 netdev_features_t features; in __netdev_update_features() local
6420 features = netdev_get_wanted_features(dev); in __netdev_update_features()
6423 features = dev->netdev_ops->ndo_fix_features(dev, features); in __netdev_update_features()
6426 features = netdev_fix_features(dev, features); in __netdev_update_features()
6430 features = netdev_sync_upper_features(dev, upper, features); in __netdev_update_features()
6432 if (dev->features == features) in __netdev_update_features()
6436 &dev->features, &features); in __netdev_update_features()
6439 err = dev->netdev_ops->ndo_set_features(dev, features); in __netdev_update_features()
6446 err, &features, &dev->features); in __netdev_update_features()
6458 netdev_sync_lower_features(dev, lower, features); in __netdev_update_features()
6461 dev->features = features; in __netdev_update_features()
6649 if (((dev->hw_features | dev->features) & in register_netdevice()
6668 dev->features |= NETIF_F_SOFT_FEATURES; in register_netdevice()
6669 dev->wanted_features = dev->features & dev->hw_features; in register_netdevice()
7316 if (dev->features & NETIF_F_NETNS_LOCAL) in dev_change_net_namespace()
7647 if (dev->features & NETIF_F_NETNS_LOCAL) in default_device_exit()