| /linux/include/net/ |
| H A D | gro.h | 100 #define NAPI_GRO_CB(skb) ((struct napi_gro_cb *)(skb)->cb) macro 105 return ++NAPI_GRO_CB(skb)->recursion_counter == GRO_RECURSION_LIMIT; in gro_recursion_inc_test() 114 NAPI_GRO_CB(skb)->flush |= 1; in call_gro_receive() 129 NAPI_GRO_CB(skb)->flush |= 1; in call_gro_receive_sk() 138 return NAPI_GRO_CB(skb)->data_offset; in skb_gro_offset() 143 return skb->len - NAPI_GRO_CB(skb)->data_offset; in skb_gro_len() 148 NAPI_GRO_CB(skb)->data_offset += len; in skb_gro_pull() 154 return NAPI_GRO_CB(skb)->frag0 + offset; in skb_gro_header_fast() 160 return likely(hlen <= NAPI_GRO_CB(skb)->frag0_len); in skb_gro_may_pull() 185 return NAPI_GRO_CB(skb)->network_offsets[NAPI_GRO_CB(skb)->encap_mark]; in skb_gro_receive_network_offset() [all …]
|
| H A D | inet_common.h | 79 NAPI_GRO_CB(skb)->flush |= 1, NULL : \
|
| /linux/net/core/ |
| H A D | gro.c | 113 NAPI_GRO_CB(skb)->flush)) in skb_gro_receive() 117 if (NAPI_GRO_CB(skb)->proto != IPPROTO_TCP || in skb_gro_receive() 122 segs = NAPI_GRO_CB(skb)->count; in skb_gro_receive() 123 lp = NAPI_GRO_CB(p)->last; in skb_gro_receive() 156 NAPI_GRO_CB(skb)->free = NAPI_GRO_FREE; in skb_gro_receive() 182 NAPI_GRO_CB(skb)->free = NAPI_GRO_FREE_STOLEN_HEAD; in skb_gro_receive() 203 if (NAPI_GRO_CB(p)->last == p) in skb_gro_receive() 206 NAPI_GRO_CB(p)->last->next = skb; in skb_gro_receive() 207 NAPI_GRO_CB(p)->last = skb; in skb_gro_receive() 212 NAPI_GRO_CB(p)->count += segs; in skb_gro_receive() [all …]
|
| /linux/net/ipv4/ |
| H A D | udp_offload.c | 27 NAPI_GRO_CB(skb)->flush = 1; in dummy_gro_rcv() 153 NAPI_GRO_CB(skb)->flush |= 1; in udp_tunnel_gro_rcv() 715 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 722 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 729 if (!NAPI_GRO_CB(p)->same_flow) in udp_gro_receive_segment() 736 NAPI_GRO_CB(p)->same_flow = 0; in udp_gro_receive_segment() 740 if (NAPI_GRO_CB(skb)->is_flist != NAPI_GRO_CB(p)->is_flist) { in udp_gro_receive_segment() 741 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 756 if (NAPI_GRO_CB(skb)->is_flist) { in udp_gro_receive_segment() 758 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() [all …]
|
| H A D | tcp_offload.c | 271 if (!NAPI_GRO_CB(p)->same_flow) in tcp_gro_lookup() 276 NAPI_GRO_CB(p)->same_flow = 0; in tcp_gro_lookup() 330 if (unlikely(NAPI_GRO_CB(p)->is_flist)) { in tcp_gro_receive() 334 flush |= NAPI_GRO_CB(p)->count >= 64; in tcp_gro_receive() 353 flush = len != NAPI_GRO_CB(skb)->count * skb_shinfo(skb)->gso_size; in tcp_gro_receive() 361 if (p && (!NAPI_GRO_CB(skb)->same_flow || flush)) in tcp_gro_receive() 364 NAPI_GRO_CB(skb)->flush |= (flush != 0); in tcp_gro_receive() 382 shinfo->gso_segs = NAPI_GRO_CB(skb)->count; in tcp_gro_complete() 403 NAPI_GRO_CB(skb)->is_flist = NAPI_GRO_CB(p)->is_flist; in tcp4_check_fraglist_gro() 413 NAPI_GRO_CB(skb)->is_flist = !sk; in tcp4_check_fraglist_gro() [all …]
|
| H A D | gre_offload.c | 134 if (NAPI_GRO_CB(skb)->encap_mark) in gre_gro_receive() 137 NAPI_GRO_CB(skb)->encap_mark = 1; in gre_gro_receive() 159 if ((greh->flags & GRE_CSUM) && NAPI_GRO_CB(skb)->is_fou) in gre_gro_receive() 184 if ((greh->flags & GRE_CSUM) && !NAPI_GRO_CB(skb)->flush) { in gre_gro_receive() 195 if (!NAPI_GRO_CB(p)->same_flow) in gre_gro_receive() 210 NAPI_GRO_CB(p)->same_flow = 0; in gre_gro_receive() 216 NAPI_GRO_CB(p)->same_flow = 0; in gre_gro_receive()
|
| H A D | xfrm4_input.c | 211 NAPI_GRO_CB(skb)->proto = IPPROTO_UDP; in xfrm4_gro_udp_encap_rcv() 220 NAPI_GRO_CB(skb)->same_flow = 0; in xfrm4_gro_udp_encap_rcv() 221 NAPI_GRO_CB(skb)->flush = 1; in xfrm4_gro_udp_encap_rcv()
|
| H A D | fou_core.c | 261 NAPI_GRO_CB(skb)->encap_mark = 0; in fou_gro_receive() 264 NAPI_GRO_CB(skb)->is_fou = 1; in fou_gro_receive() 314 if (!NAPI_GRO_CB(skb)->csum_valid) in gue_gro_remcsum() 419 if (!NAPI_GRO_CB(p)->same_flow) in gue_gro_receive() 428 NAPI_GRO_CB(p)->same_flow = 0; in gue_gro_receive() 435 NAPI_GRO_CB(p)->same_flow = 0; in gue_gro_receive() 450 NAPI_GRO_CB(skb)->encap_mark = 0; in gue_gro_receive() 453 NAPI_GRO_CB(skb)->is_fou = 1; in gue_gro_receive()
|
| H A D | esp4_offload.c | 81 if (NAPI_GRO_CB(skb)->proto == IPPROTO_UDP) in esp4_gro_receive() 98 NAPI_GRO_CB(skb)->same_flow = 0; in esp4_gro_receive() 99 NAPI_GRO_CB(skb)->flush = 1; in esp4_gro_receive()
|
| H A D | af_inet.c | 1506 NAPI_GRO_CB(skb)->proto = proto; in inet_gro_receive() 1512 if (!NAPI_GRO_CB(p)->same_flow) in inet_gro_receive() 1524 NAPI_GRO_CB(p)->same_flow = 0; in inet_gro_receive() 1529 NAPI_GRO_CB(skb)->flush |= flush; in inet_gro_receive() 1530 NAPI_GRO_CB(skb)->network_offsets[NAPI_GRO_CB(skb)->encap_mark] = off; in inet_gro_receive() 1550 if (NAPI_GRO_CB(skb)->encap_mark) { in ipip_gro_receive() 1551 NAPI_GRO_CB(skb)->flush = 1; in ipip_gro_receive() 1555 NAPI_GRO_CB(skb)->encap_mark = 1; in ipip_gro_receive()
|
| H A D | udp.c | 760 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in udp4_lib_lookup_skb()
|
| /linux/net/ipv6/ |
| H A D | tcpv6_offload.c | 29 NAPI_GRO_CB(skb)->is_flist = NAPI_GRO_CB(p)->is_flist; in tcp6_check_fraglist_gro() 39 NAPI_GRO_CB(skb)->is_flist = !sk; in tcp6_check_fraglist_gro() 51 if (!NAPI_GRO_CB(skb)->flush && in tcp6_gro_receive() 66 NAPI_GRO_CB(skb)->flush = 1; in tcp6_gro_receive() 72 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in tcp6_gro_complete() 76 if (unlikely(NAPI_GRO_CB(skb)->is_flist)) { in tcp6_gro_complete() 78 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in tcp6_gro_complete()
|
| H A D | ip6_offload.c | 222 NAPI_GRO_CB(skb)->network_offsets[NAPI_GRO_CB(skb)->encap_mark] = off; in ipv6_gro_receive() 242 NAPI_GRO_CB(skb)->proto = proto; in ipv6_gro_receive() 251 if (!NAPI_GRO_CB(p)->same_flow) in ipv6_gro_receive() 268 NAPI_GRO_CB(p)->same_flow = 0; in ipv6_gro_receive() 278 NAPI_GRO_CB(skb)->flush |= flush; in ipv6_gro_receive() 306 if (NAPI_GRO_CB(skb)->encap_mark) { in sit_ip6ip6_gro_receive() 307 NAPI_GRO_CB(skb)->flush = 1; in sit_ip6ip6_gro_receive() 311 NAPI_GRO_CB(skb)->encap_mark = 1; in sit_ip6ip6_gro_receive() 321 if (NAPI_GRO_CB(skb)->encap_mark) { in ip4ip6_gro_receive() 322 NAPI_GRO_CB(skb)->flush = 1; in ip4ip6_gro_receive() [all …]
|
| H A D | udp_offload.c | 145 if (NAPI_GRO_CB(skb)->flush) in udp6_gro_receive() 163 NAPI_GRO_CB(skb)->flush = 1; in udp6_gro_receive() 169 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in udp6_gro_complete() 174 if (NAPI_GRO_CB(skb)->is_flist && !NAPI_GRO_CB(skb)->encap_mark) { in udp6_gro_complete() 178 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in udp6_gro_complete()
|
| H A D | xfrm6_input.c | 211 NAPI_GRO_CB(skb)->proto = IPPROTO_UDP; in xfrm6_gro_udp_encap_rcv() 220 NAPI_GRO_CB(skb)->same_flow = 0; in xfrm6_gro_udp_encap_rcv() 221 NAPI_GRO_CB(skb)->flush = 1; in xfrm6_gro_udp_encap_rcv()
|
| H A D | esp6_offload.c | 64 if (NAPI_GRO_CB(skb)->proto == IPPROTO_UDP) in esp6_gro_receive() 127 NAPI_GRO_CB(skb)->same_flow = 0; in esp6_gro_receive() 128 NAPI_GRO_CB(skb)->flush = 1; in esp6_gro_receive()
|
| H A D | udp.c | 423 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in udp6_lib_lookup_skb()
|
| /linux/net/8021q/ |
| H A D | vlan_core.c | 481 NAPI_GRO_CB(skb)->network_offsets[NAPI_GRO_CB(skb)->encap_mark] = hlen; in vlan_gro_receive() 494 if (!NAPI_GRO_CB(p)->same_flow) in vlan_gro_receive() 499 NAPI_GRO_CB(p)->same_flow = 0; in vlan_gro_receive()
|
| /linux/net/ethernet/ |
| H A D | eth.c | 409 if (!NAPI_GRO_CB(p)->same_flow) in eth_gro_receive() 414 NAPI_GRO_CB(p)->same_flow = 0; in eth_gro_receive()
|
| /linux/drivers/net/ |
| H A D | geneve.c | 550 if (!NAPI_GRO_CB(skb)->csum_valid) in geneve_opt_gro_hint_validate_csum() 555 csum = csum_sub(NAPI_GRO_CB(skb)->csum, csum_partial(gh, plen, 0)); in geneve_opt_gro_hint_validate_csum() 864 NAPI_GRO_CB(skb)->flush = 1; in geneve_hdr_match() 918 if (!NAPI_GRO_CB(p)->same_flow) in geneve_gro_receive() 923 NAPI_GRO_CB(p)->same_flow = 0; in geneve_gro_receive()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en_rx.c | 1169 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in mlx5e_shampo_update_hdr() 1475 if (NAPI_GRO_CB(skb)->count != 1) in mlx5e_shampo_complete_rx_cqe() 2147 u16 gro_count = NAPI_GRO_CB(skb)->count; in mlx5e_shampo_flush_skb() 2234 NAPI_GRO_CB(*skb)->count = 1; in mlx5e_handle_rx_cqe_mpwrq_shampo() 2237 NAPI_GRO_CB(*skb)->count++; in mlx5e_handle_rx_cqe_mpwrq_shampo() 2239 if (NAPI_GRO_CB(*skb)->count == 2 && in mlx5e_handle_rx_cqe_mpwrq_shampo()
|
| /linux/drivers/net/ethernet/qlogic/qede/ |
| H A D | qede_fp.c | 1016 NAPI_GRO_CB(skb)->count = le16_to_cpu(cqe->num_of_coalesced_segs); in qede_tpa_end()
|
| /linux/drivers/net/vxlan/ |
| H A D | vxlan_core.c | 642 if (!NAPI_GRO_CB(skb)->csum_valid) in vxlan_gro_remcsum() 692 if (!NAPI_GRO_CB(p)->same_flow) in vxlan_gro_prepare_receive() 698 NAPI_GRO_CB(p)->same_flow = 0; in vxlan_gro_prepare_receive()
|
| /linux/drivers/net/ethernet/broadcom/bnge/ |
| H A D | bnge_txrx.c | 564 NAPI_GRO_CB(skb)->count = segs; in bnge_gro_skb()
|
| /linux/drivers/net/ethernet/hisilicon/hns3/ |
| H A D | hns3_enet.c | 3905 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in hns3_gro_complete() 4212 NAPI_GRO_CB(skb)->count = hnae3_get_field(l234info, in hns3_set_gro_and_checksum()
|