/linux-6.12.1/include/net/ |
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 …]
|
D | inet_common.h | 80 NAPI_GRO_CB(skb)->flush |= 1, NULL : \
|
/linux-6.12.1/net/core/ |
D | gro.c | 115 NAPI_GRO_CB(skb)->flush)) in skb_gro_receive() 119 if (NAPI_GRO_CB(skb)->proto != IPPROTO_TCP || in skb_gro_receive() 126 segs = NAPI_GRO_CB(skb)->count; in skb_gro_receive() 127 lp = NAPI_GRO_CB(p)->last; in skb_gro_receive() 160 NAPI_GRO_CB(skb)->free = NAPI_GRO_FREE; in skb_gro_receive() 186 NAPI_GRO_CB(skb)->free = NAPI_GRO_FREE_STOLEN_HEAD; in skb_gro_receive() 207 if (NAPI_GRO_CB(p)->last == p) in skb_gro_receive() 210 NAPI_GRO_CB(p)->last->next = skb; in skb_gro_receive() 211 NAPI_GRO_CB(p)->last = skb; in skb_gro_receive() 216 NAPI_GRO_CB(p)->count += segs; in skb_gro_receive() [all …]
|
/linux-6.12.1/net/ipv4/ |
D | udp_offload.c | 488 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 495 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 502 if (!NAPI_GRO_CB(p)->same_flow) in udp_gro_receive_segment() 509 NAPI_GRO_CB(p)->same_flow = 0; in udp_gro_receive_segment() 513 if (NAPI_GRO_CB(skb)->is_flist != NAPI_GRO_CB(p)->is_flist) { in udp_gro_receive_segment() 514 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 529 if (NAPI_GRO_CB(skb)->is_flist) { in udp_gro_receive_segment() 531 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 536 NAPI_GRO_CB(skb)->flush = 1; in udp_gro_receive_segment() 549 NAPI_GRO_CB(p)->count >= UDP_GRO_CNT_MAX) in udp_gro_receive_segment() [all …]
|
D | tcp_offload.c | 263 if (!NAPI_GRO_CB(p)->same_flow) in tcp_gro_lookup() 268 NAPI_GRO_CB(p)->same_flow = 0; in tcp_gro_lookup() 350 if (unlikely(NAPI_GRO_CB(p)->is_flist)) { in tcp_gro_receive() 354 flush |= NAPI_GRO_CB(p)->count >= 64; in tcp_gro_receive() 372 flush = len != NAPI_GRO_CB(skb)->count * skb_shinfo(skb)->gso_size; in tcp_gro_receive() 380 if (p && (!NAPI_GRO_CB(skb)->same_flow || flush)) in tcp_gro_receive() 383 NAPI_GRO_CB(skb)->flush |= (flush != 0); in tcp_gro_receive() 401 shinfo->gso_segs = NAPI_GRO_CB(skb)->count; in tcp_gro_complete() 422 NAPI_GRO_CB(skb)->is_flist = NAPI_GRO_CB(p)->is_flist; in tcp4_check_fraglist_gro() 433 NAPI_GRO_CB(skb)->is_flist = !sk; in tcp4_check_fraglist_gro() [all …]
|
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()
|
D | xfrm4_input.c | 202 NAPI_GRO_CB(skb)->proto = IPPROTO_UDP; in xfrm4_gro_udp_encap_rcv() 212 NAPI_GRO_CB(skb)->same_flow = 0; in xfrm4_gro_udp_encap_rcv() 213 NAPI_GRO_CB(skb)->flush = 1; in xfrm4_gro_udp_encap_rcv()
|
D | fou_core.c | 252 NAPI_GRO_CB(skb)->encap_mark = 0; in fou_gro_receive() 255 NAPI_GRO_CB(skb)->is_fou = 1; in fou_gro_receive() 257 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_receive() 284 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; in fou_gro_complete() 311 if (!NAPI_GRO_CB(skb)->csum_valid) in gue_gro_remcsum() 417 if (!NAPI_GRO_CB(p)->same_flow) in gue_gro_receive() 426 NAPI_GRO_CB(p)->same_flow = 0; in gue_gro_receive() 433 NAPI_GRO_CB(p)->same_flow = 0; in gue_gro_receive() 448 NAPI_GRO_CB(skb)->encap_mark = 0; in gue_gro_receive() 451 NAPI_GRO_CB(skb)->is_fou = 1; in gue_gro_receive() [all …]
|
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()
|
D | af_inet.c | 1511 NAPI_GRO_CB(skb)->proto = proto; in inet_gro_receive() 1517 if (!NAPI_GRO_CB(p)->same_flow) in inet_gro_receive() 1529 NAPI_GRO_CB(p)->same_flow = 0; in inet_gro_receive() 1534 NAPI_GRO_CB(skb)->flush |= flush; in inet_gro_receive() 1535 NAPI_GRO_CB(skb)->network_offsets[NAPI_GRO_CB(skb)->encap_mark] = off; in inet_gro_receive() 1555 if (NAPI_GRO_CB(skb)->encap_mark) { in ipip_gro_receive() 1556 NAPI_GRO_CB(skb)->flush = 1; in ipip_gro_receive() 1560 NAPI_GRO_CB(skb)->encap_mark = 1; in ipip_gro_receive()
|
D | udp.c | 549 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in udp4_lib_lookup_skb()
|
/linux-6.12.1/net/ipv6/ |
D | tcpv6_offload.c | 32 NAPI_GRO_CB(skb)->is_flist = NAPI_GRO_CB(p)->is_flist; in tcp6_check_fraglist_gro() 43 NAPI_GRO_CB(skb)->is_flist = !sk; in tcp6_check_fraglist_gro() 55 if (!NAPI_GRO_CB(skb)->flush && in tcp6_gro_receive() 69 NAPI_GRO_CB(skb)->flush = 1; in tcp6_gro_receive() 75 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in tcp6_gro_complete() 79 if (unlikely(NAPI_GRO_CB(skb)->is_flist)) { in tcp6_gro_complete() 81 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in tcp6_gro_complete()
|
D | ip6_offload.c | 36 NAPI_GRO_CB(skb)->flush |= 1, NULL : \ 239 NAPI_GRO_CB(skb)->network_offsets[NAPI_GRO_CB(skb)->encap_mark] = off; in ipv6_gro_receive() 259 NAPI_GRO_CB(skb)->proto = proto; in ipv6_gro_receive() 268 if (!NAPI_GRO_CB(p)->same_flow) in ipv6_gro_receive() 285 NAPI_GRO_CB(p)->same_flow = 0; in ipv6_gro_receive() 295 NAPI_GRO_CB(skb)->flush |= flush; in ipv6_gro_receive() 313 if (NAPI_GRO_CB(skb)->encap_mark) { in sit_ip6ip6_gro_receive() 314 NAPI_GRO_CB(skb)->flush = 1; in sit_ip6ip6_gro_receive() 318 NAPI_GRO_CB(skb)->encap_mark = 1; in sit_ip6ip6_gro_receive() 328 if (NAPI_GRO_CB(skb)->encap_mark) { in ip4ip6_gro_receive() [all …]
|
D | udp_offload.c | 141 if (NAPI_GRO_CB(skb)->flush) in udp6_gro_receive() 152 NAPI_GRO_CB(skb)->is_ipv6 = 1; in udp6_gro_receive() 161 NAPI_GRO_CB(skb)->flush = 1; in udp6_gro_receive() 167 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in udp6_gro_complete() 172 if (NAPI_GRO_CB(skb)->is_flist && !NAPI_GRO_CB(skb)->encap_mark) { in udp6_gro_complete() 176 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in udp6_gro_complete()
|
D | xfrm6_input.c | 202 NAPI_GRO_CB(skb)->proto = IPPROTO_UDP; in xfrm6_gro_udp_encap_rcv() 212 NAPI_GRO_CB(skb)->same_flow = 0; in xfrm6_gro_udp_encap_rcv() 213 NAPI_GRO_CB(skb)->flush = 1; in xfrm6_gro_udp_encap_rcv()
|
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()
|
D | udp.c | 287 const u16 offset = NAPI_GRO_CB(skb)->network_offsets[skb->encapsulation]; in udp6_lib_lookup_skb()
|
/linux-6.12.1/net/8021q/ |
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-6.12.1/net/ethernet/ |
D | eth.c | 412 if (!NAPI_GRO_CB(p)->same_flow) in eth_gro_receive() 417 NAPI_GRO_CB(p)->same_flow = 0; in eth_gro_receive()
|
/linux-6.12.1/drivers/net/ethernet/mellanox/mlx5/core/ |
D | en_rx.c | 1320 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in mlx5e_shampo_update_hdr() 1612 if (NAPI_GRO_CB(skb)->count != 1) in mlx5e_shampo_complete_rx_cqe() 2252 u16 gro_count = NAPI_GRO_CB(skb)->count; in mlx5e_shampo_flush_skb() 2324 NAPI_GRO_CB(*skb)->count = 1; in mlx5e_handle_rx_cqe_mpwrq_shampo() 2327 NAPI_GRO_CB(*skb)->count++; in mlx5e_handle_rx_cqe_mpwrq_shampo() 2328 if (NAPI_GRO_CB(*skb)->count == 2 && in mlx5e_handle_rx_cqe_mpwrq_shampo()
|
/linux-6.12.1/drivers/net/ |
D | geneve.c | 527 if (!NAPI_GRO_CB(p)->same_flow) in geneve_gro_receive() 533 NAPI_GRO_CB(p)->same_flow = 0; in geneve_gro_receive()
|
/linux-6.12.1/drivers/net/vxlan/ |
D | vxlan_core.c | 663 if (!NAPI_GRO_CB(skb)->csum_valid) in vxlan_gro_remcsum() 713 if (!NAPI_GRO_CB(p)->same_flow) in vxlan_gro_prepare_receive() 719 NAPI_GRO_CB(p)->same_flow = 0; in vxlan_gro_prepare_receive()
|
/linux-6.12.1/drivers/net/ethernet/qlogic/qede/ |
D | qede_fp.c | 1015 NAPI_GRO_CB(skb)->count = le16_to_cpu(cqe->num_of_coalesced_segs); in qede_tpa_end()
|
/linux-6.12.1/drivers/net/ethernet/hisilicon/hns3/ |
D | hns3_enet.c | 3856 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in hns3_gro_complete() 4163 NAPI_GRO_CB(skb)->count = hnae3_get_field(l234info, in hns3_set_gro_and_checksum()
|
/linux-6.12.1/drivers/net/ethernet/intel/idpf/ |
D | idpf_txrx.c | 3013 NAPI_GRO_CB(skb)->count = rsc_segments; in idpf_rx_rsc()
|