shinfo 2960 drivers/net/ethernet/broadcom/bnx2.c struct skb_shared_info *shinfo; shinfo 2962 drivers/net/ethernet/broadcom/bnx2.c shinfo = skb_shinfo(skb); shinfo 2963 drivers/net/ethernet/broadcom/bnx2.c shinfo->nr_frags--; shinfo 2964 drivers/net/ethernet/broadcom/bnx2.c page = skb_frag_page(&shinfo->frags[shinfo->nr_frags]); shinfo 2965 drivers/net/ethernet/broadcom/bnx2.c __skb_frag_set_page(&shinfo->frags[shinfo->nr_frags], NULL); shinfo 1043 drivers/net/ethernet/broadcom/bnxt/bnxt.c struct skb_shared_info *shinfo; shinfo 1046 drivers/net/ethernet/broadcom/bnxt/bnxt.c shinfo = skb_shinfo(skb); shinfo 1047 drivers/net/ethernet/broadcom/bnxt/bnxt.c nr_frags = --shinfo->nr_frags; shinfo 1048 drivers/net/ethernet/broadcom/bnxt/bnxt.c __skb_frag_set_page(&shinfo->frags[nr_frags], NULL); shinfo 1519 drivers/net/ethernet/intel/e1000e/netdev.c struct skb_shared_info *shinfo; shinfo 1575 drivers/net/ethernet/intel/e1000e/netdev.c shinfo = skb_shinfo(rxtop); shinfo 1576 drivers/net/ethernet/intel/e1000e/netdev.c skb_fill_page_desc(rxtop, shinfo->nr_frags, shinfo 1587 drivers/net/ethernet/intel/e1000e/netdev.c shinfo = skb_shinfo(rxtop); shinfo 1588 drivers/net/ethernet/intel/e1000e/netdev.c skb_fill_page_desc(rxtop, shinfo->nr_frags, shinfo 575 drivers/net/ethernet/mellanox/mlx4/en_tx.c const struct skb_shared_info *shinfo, shinfo 583 drivers/net/ethernet/mellanox/mlx4/en_tx.c if (shinfo->nr_frags == 1) { shinfo 584 drivers/net/ethernet/mellanox/mlx4/en_tx.c ptr = skb_frag_address_safe(&shinfo->frags[0]); shinfo 590 drivers/net/ethernet/mellanox/mlx4/en_tx.c if (shinfo->nr_frags) shinfo 607 drivers/net/ethernet/mellanox/mlx4/en_tx.c const struct skb_shared_info *shinfo, shinfo 616 drivers/net/ethernet/mellanox/mlx4/en_tx.c if (shinfo->gso_size) { shinfo 622 drivers/net/ethernet/mellanox/mlx4/en_tx.c real_size = CTRL_SIZE + shinfo->nr_frags * DS_SIZE + shinfo 638 drivers/net/ethernet/mellanox/mlx4/en_tx.c shinfo, pfrag); shinfo 644 drivers/net/ethernet/mellanox/mlx4/en_tx.c (shinfo->nr_frags + 1) * DS_SIZE; shinfo 652 drivers/net/ethernet/mellanox/mlx4/en_tx.c const struct skb_shared_info *shinfo, shinfo 668 drivers/net/ethernet/mellanox/mlx4/en_tx.c if (shinfo->nr_frags) shinfo 670 drivers/net/ethernet/mellanox/mlx4/en_tx.c skb_frag_size(&shinfo->frags[0])); shinfo 688 drivers/net/ethernet/mellanox/mlx4/en_tx.c if (shinfo->nr_frags) shinfo 691 drivers/net/ethernet/mellanox/mlx4/en_tx.c skb_frag_size(&shinfo->frags[0])); shinfo 773 drivers/net/ethernet/mellanox/mlx4/en_tx.c struct skb_shared_info *shinfo, shinfo 786 drivers/net/ethernet/mellanox/mlx4/en_tx.c for (i_frag = shinfo->nr_frags - 1; i_frag >= 0; i_frag--) { shinfo 787 drivers/net/ethernet/mellanox/mlx4/en_tx.c const skb_frag_t *frag = &shinfo->frags[i_frag]; shinfo 826 drivers/net/ethernet/mellanox/mlx4/en_tx.c while (++i_frag < shinfo->nr_frags) { shinfo 838 drivers/net/ethernet/mellanox/mlx4/en_tx.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 870 drivers/net/ethernet/mellanox/mlx4/en_tx.c real_size = get_real_size(skb, shinfo, dev, &lso_header_size, shinfo 941 drivers/net/ethernet/mellanox/mlx4/en_tx.c tx_info->nr_maps = shinfo->nr_frags + tx_info->linear; shinfo 945 drivers/net/ethernet/mellanox/mlx4/en_tx.c if (!mlx4_en_build_dma_wqe(priv, shinfo, data, skb, shinfo 956 drivers/net/ethernet/mellanox/mlx4/en_tx.c shinfo->tx_flags & SKBTX_HW_TSTAMP)) { shinfo 957 drivers/net/ethernet/mellanox/mlx4/en_tx.c shinfo->tx_flags |= SKBTX_IN_PROGRESS; shinfo 995 drivers/net/ethernet/mellanox/mlx4/en_tx.c shinfo->gso_size << 16 | lso_header_size); shinfo 1003 drivers/net/ethernet/mellanox/mlx4/en_tx.c i = shinfo->gso_segs; shinfo 1018 drivers/net/ethernet/mellanox/mlx4/en_tx.c build_inline_wqe(tx_desc, skb, shinfo, fragptr); shinfo 559 drivers/net/ethernet/mscc/ocelot.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 580 drivers/net/ethernet/mscc/ocelot.c if (ocelot->ptp && shinfo->tx_flags & SKBTX_HW_TSTAMP) { shinfo 617 drivers/net/ethernet/mscc/ocelot.c if (ocelot->ptp && shinfo->tx_flags & SKBTX_HW_TSTAMP && shinfo 451 drivers/net/wireless/mediatek/mt76/dma.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 453 drivers/net/wireless/mediatek/mt76/dma.c if (shinfo->nr_frags < ARRAY_SIZE(shinfo->frags)) { shinfo 455 drivers/net/wireless/mediatek/mt76/dma.c skb_add_rx_frag(skb, shinfo->nr_frags, page, offset, len, shinfo 367 drivers/net/xen-netback/netback.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 368 drivers/net/xen-netback/netback.c skb_frag_t *frags = shinfo->frags; shinfo 374 drivers/net/xen-netback/netback.c nr_slots = shinfo->nr_frags; shinfo 377 drivers/net/xen-netback/netback.c start = (frag_get_pending_idx(&shinfo->frags[0]) == pending_idx); shinfo 379 drivers/net/xen-netback/netback.c for (shinfo->nr_frags = start; shinfo->nr_frags < nr_slots; shinfo 380 drivers/net/xen-netback/netback.c shinfo->nr_frags++, txp++, gop++) { shinfo 384 drivers/net/xen-netback/netback.c frag_set_pending_idx(&frags[shinfo->nr_frags], pending_idx); shinfo 389 drivers/net/xen-netback/netback.c shinfo = skb_shinfo(nskb); shinfo 390 drivers/net/xen-netback/netback.c frags = shinfo->frags; shinfo 392 drivers/net/xen-netback/netback.c for (shinfo->nr_frags = 0; shinfo->nr_frags < frag_overflow; shinfo 393 drivers/net/xen-netback/netback.c shinfo->nr_frags++, txp++, gop++) { shinfo 398 drivers/net/xen-netback/netback.c frag_set_pending_idx(&frags[shinfo->nr_frags], shinfo 445 drivers/net/xen-netback/netback.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 450 drivers/net/xen-netback/netback.c int nr_frags = shinfo->nr_frags; shinfo 452 drivers/net/xen-netback/netback.c frag_get_pending_idx(&shinfo->frags[0]) == pending_idx; shinfo 475 drivers/net/xen-netback/netback.c pending_idx = frag_get_pending_idx(&shinfo->frags[i]); shinfo 526 drivers/net/xen-netback/netback.c pending_idx = frag_get_pending_idx(&shinfo->frags[j]); shinfo 550 drivers/net/xen-netback/netback.c shinfo = skb_shinfo(skb_shinfo(skb)->frag_list); shinfo 551 drivers/net/xen-netback/netback.c nr_frags = shinfo->nr_frags; shinfo 562 drivers/net/xen-netback/netback.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 563 drivers/net/xen-netback/netback.c int nr_frags = shinfo->nr_frags; shinfo 568 drivers/net/xen-netback/netback.c skb_frag_t *frag = shinfo->frags + i; shinfo 4419 include/linux/skbuff.h static inline void skb_increase_gso_size(struct skb_shared_info *shinfo, shinfo 4422 include/linux/skbuff.h if (WARN_ON_ONCE(shinfo->gso_size == GSO_BY_FRAGS)) shinfo 4424 include/linux/skbuff.h shinfo->gso_size += increment; shinfo 4427 include/linux/skbuff.h static inline void skb_decrease_gso_size(struct skb_shared_info *shinfo, shinfo 4430 include/linux/skbuff.h if (WARN_ON_ONCE(shinfo->gso_size == GSO_BY_FRAGS)) shinfo 4432 include/linux/skbuff.h shinfo->gso_size -= decrement; shinfo 4441 include/linux/skbuff.h const struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 4443 include/linux/skbuff.h if (skb_is_nonlinear(skb) && shinfo->gso_size != 0 && shinfo 4444 include/linux/skbuff.h unlikely(shinfo->gso_type == 0)) { shinfo 112 include/linux/virtio_net.h struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 116 include/linux/virtio_net.h shinfo->gso_size = gso_size; shinfo 117 include/linux/virtio_net.h shinfo->gso_type = gso_type; shinfo 120 include/linux/virtio_net.h shinfo->gso_type |= SKB_GSO_DODGY; shinfo 121 include/linux/virtio_net.h shinfo->gso_segs = 0; shinfo 3339 net/core/dev.c const struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 3346 net/core/dev.c if (shinfo->gso_size && skb_transport_header_was_set(skb)) { shinfo 3348 net/core/dev.c u16 gso_segs = shinfo->gso_segs; shinfo 3354 net/core/dev.c if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) { shinfo 3370 net/core/dev.c if (shinfo->gso_type & SKB_GSO_DODGY) shinfo 3372 net/core/dev.c shinfo->gso_size); shinfo 2852 net/core/filter.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 2857 net/core/filter.c if (shinfo->gso_type & SKB_GSO_TCPV4) { shinfo 2858 net/core/filter.c shinfo->gso_type &= ~SKB_GSO_TCPV4; shinfo 2859 net/core/filter.c shinfo->gso_type |= SKB_GSO_TCPV6; shinfo 2863 net/core/filter.c skb_decrease_gso_size(shinfo, len_diff); shinfo 2865 net/core/filter.c shinfo->gso_type |= SKB_GSO_DODGY; shinfo 2866 net/core/filter.c shinfo->gso_segs = 0; shinfo 2893 net/core/filter.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 2898 net/core/filter.c if (shinfo->gso_type & SKB_GSO_TCPV6) { shinfo 2899 net/core/filter.c shinfo->gso_type &= ~SKB_GSO_TCPV6; shinfo 2900 net/core/filter.c shinfo->gso_type |= SKB_GSO_TCPV4; shinfo 2904 net/core/filter.c skb_increase_gso_size(shinfo, len_diff); shinfo 2906 net/core/filter.c shinfo->gso_type |= SKB_GSO_DODGY; shinfo 2907 net/core/filter.c shinfo->gso_segs = 0; shinfo 3095 net/core/filter.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 3099 net/core/filter.c skb_decrease_gso_size(shinfo, len_diff); shinfo 3102 net/core/filter.c shinfo->gso_type |= gso_type; shinfo 3103 net/core/filter.c shinfo->gso_segs = 0; shinfo 3133 net/core/filter.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 3137 net/core/filter.c skb_increase_gso_size(shinfo, len_diff); shinfo 3140 net/core/filter.c shinfo->gso_type |= SKB_GSO_DODGY; shinfo 3141 net/core/filter.c shinfo->gso_segs = 0; shinfo 527 net/core/lwt_bpf.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 530 net/core/lwt_bpf.c shinfo->gso_type |= gso_type; shinfo 531 net/core/lwt_bpf.c skb_decrease_gso_size(shinfo, encap_len); shinfo 532 net/core/lwt_bpf.c shinfo->gso_segs = 0; shinfo 185 net/core/skbuff.c struct skb_shared_info *shinfo; shinfo 237 net/core/skbuff.c shinfo = skb_shinfo(skb); shinfo 238 net/core/skbuff.c memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); shinfo 239 net/core/skbuff.c atomic_set(&shinfo->dataref, 1); shinfo 264 net/core/skbuff.c struct skb_shared_info *shinfo; shinfo 280 net/core/skbuff.c shinfo = skb_shinfo(skb); shinfo 281 net/core/skbuff.c memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); shinfo 282 net/core/skbuff.c atomic_set(&shinfo->dataref, 1); shinfo 596 net/core/skbuff.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 601 net/core/skbuff.c &shinfo->dataref)) shinfo 604 net/core/skbuff.c for (i = 0; i < shinfo->nr_frags; i++) shinfo 605 net/core/skbuff.c __skb_frag_unref(&shinfo->frags[i]); shinfo 607 net/core/skbuff.c if (shinfo->frag_list) shinfo 608 net/core/skbuff.c kfree_skb_list(shinfo->frag_list); shinfo 5152 net/core/skbuff.c const struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 5159 net/core/skbuff.c if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) shinfo 5161 net/core/skbuff.c } else if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) { shinfo 5165 net/core/skbuff.c } else if (shinfo->gso_type & SKB_GSO_UDP_L4) { shinfo 5172 net/core/skbuff.c return thlen + shinfo->gso_size; shinfo 5233 net/core/skbuff.c const struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 5236 net/core/skbuff.c if (shinfo->gso_size != GSO_BY_FRAGS) shinfo 5776 net/core/skbuff.c struct skb_shared_info *shinfo, int eat, shinfo 5779 net/core/skbuff.c struct sk_buff *list = shinfo->frag_list; shinfo 5814 net/core/skbuff.c while ((list = shinfo->frag_list) != insp) { shinfo 5815 net/core/skbuff.c shinfo->frag_list = list->next; shinfo 5821 net/core/skbuff.c shinfo->frag_list = clone; shinfo 5836 net/core/skbuff.c struct skb_shared_info *shinfo; shinfo 5857 net/core/skbuff.c shinfo = (struct skb_shared_info *)(data + size); shinfo 5862 net/core/skbuff.c shinfo->frags[k] = skb_shinfo(skb)->frags[i]; shinfo 5873 net/core/skbuff.c skb_frag_off_add(&shinfo->frags[0], off - pos); shinfo 5874 net/core/skbuff.c skb_frag_size_sub(&shinfo->frags[0], off - pos); shinfo 5881 net/core/skbuff.c shinfo->nr_frags = k; shinfo 5887 net/core/skbuff.c pskb_carve_frag_list(skb, shinfo, off - pos, gfp_mask); shinfo 466 net/ipv4/tcp.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 469 net/ipv4/tcp.c sock_tx_timestamp(sk, tsflags, &shinfo->tx_flags); shinfo 473 net/ipv4/tcp.c shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1; shinfo 3051 net/ipv4/tcp_input.c const struct skb_shared_info *shinfo; shinfo 3057 net/ipv4/tcp_input.c shinfo = skb_shinfo(skb); shinfo 3058 net/ipv4/tcp_input.c if (!before(shinfo->tskey, prior_snd_una) && shinfo 3059 net/ipv4/tcp_input.c before(shinfo->tskey, tcp_sk(sk)->snd_una)) { shinfo 1651 net/ipv4/tcp_ipv4.c struct skb_shared_info *shinfo; shinfo 1683 net/ipv4/tcp_ipv4.c shinfo = skb_shinfo(skb); shinfo 1685 net/ipv4/tcp_ipv4.c if (!shinfo->gso_size) shinfo 1686 net/ipv4/tcp_ipv4.c shinfo->gso_size = skb->len - hdrlen; shinfo 1688 net/ipv4/tcp_ipv4.c if (!shinfo->gso_segs) shinfo 1689 net/ipv4/tcp_ipv4.c shinfo->gso_segs = 1; shinfo 1738 net/ipv4/tcp_ipv4.c skb_shinfo(tail)->gso_size = max(shinfo->gso_size, shinfo 1741 net/ipv4/tcp_ipv4.c gso_segs = skb_shinfo(tail)->gso_segs + shinfo->gso_segs; shinfo 1265 net/ipv4/tcp_output.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 1268 net/ipv4/tcp_output.c !before(shinfo->tskey, TCP_SKB_CB(skb2)->seq)) { shinfo 1270 net/ipv4/tcp_output.c u8 tsflags = shinfo->tx_flags & SKBTX_ANY_TSTAMP; shinfo 1272 net/ipv4/tcp_output.c shinfo->tx_flags &= ~tsflags; shinfo 1274 net/ipv4/tcp_output.c swap(shinfo->tskey, shinfo2->tskey); shinfo 1403 net/ipv4/tcp_output.c struct skb_shared_info *shinfo; shinfo 1415 net/ipv4/tcp_output.c shinfo = skb_shinfo(skb); shinfo 1416 net/ipv4/tcp_output.c for (i = 0; i < shinfo->nr_frags; i++) { shinfo 1417 net/ipv4/tcp_output.c int size = skb_frag_size(&shinfo->frags[i]); shinfo 1423 net/ipv4/tcp_output.c shinfo->frags[k] = shinfo->frags[i]; shinfo 1425 net/ipv4/tcp_output.c skb_frag_off_add(&shinfo->frags[k], eat); shinfo 1426 net/ipv4/tcp_output.c skb_frag_size_sub(&shinfo->frags[k], eat); shinfo 1432 net/ipv4/tcp_output.c shinfo->nr_frags = k; shinfo 2785 net/ipv4/tcp_output.c struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 2787 net/ipv4/tcp_output.c shinfo->tx_flags |= next_shinfo->tx_flags & SKBTX_ANY_TSTAMP; shinfo 2788 net/ipv4/tcp_output.c shinfo->tskey = next_shinfo->tskey; shinfo 1311 net/sched/sch_cake.c const struct skb_shared_info *shinfo = skb_shinfo(skb); shinfo 1319 net/sched/sch_cake.c if (!shinfo->gso_size) shinfo 1326 net/sched/sch_cake.c if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | shinfo 1343 net/sched/sch_cake.c if (unlikely(shinfo->gso_type & SKB_GSO_DODGY)) shinfo 1345 net/sched/sch_cake.c shinfo->gso_size); shinfo 1347 net/sched/sch_cake.c segs = shinfo->gso_segs; shinfo 1349 net/sched/sch_cake.c len = shinfo->gso_size + hdr_len; shinfo 1350 net/sched/sch_cake.c last_len = skb->len - shinfo->gso_size * (segs - 1);