Lines Matching refs:off
853 int off, int size, unsigned int truesize) in skb_add_rx_frag_netmem() argument
857 skb_fill_netmem_desc(skb, i, netmem, off, size); in skb_add_rx_frag_netmem()
901 u32 size, truesize, len, max_head_size, off; in skb_pp_cow_data() local
942 off = size; in skb_pp_cow_data()
943 len = skb->len - off; in skb_pp_cow_data()
944 for (i = 0; i < MAX_SKB_FRAGS && off < skb->len; i++) { in skb_pp_cow_data()
958 err = skb_copy_bits(skb, off, page_address(page) + page_off, in skb_pp_cow_data()
966 off += size; in skb_pp_cow_data()
2060 void skb_headers_offset_update(struct sk_buff *skb, int off) in skb_headers_offset_update() argument
2064 skb->csum_start += off; in skb_headers_offset_update()
2066 skb->transport_header += off; in skb_headers_offset_update()
2067 skb->network_header += off; in skb_headers_offset_update()
2069 skb->mac_header += off; in skb_headers_offset_update()
2070 skb->inner_transport_header += off; in skb_headers_offset_update()
2071 skb->inner_network_header += off; in skb_headers_offset_update()
2072 skb->inner_mac_header += off; in skb_headers_offset_update()
2227 long off; in pskb_expand_head() local
2274 off = (data + nhead) - skb->head; in pskb_expand_head()
2278 skb->data += off; in pskb_expand_head()
2282 off = nhead; in pskb_expand_head()
2284 skb->tail += off; in pskb_expand_head()
3088 unsigned int plen, unsigned int *off, in __splice_segment() argument
3097 if (*off >= plen) { in __splice_segment()
3098 *off -= plen; in __splice_segment()
3103 poff += *off; in __splice_segment()
3104 plen -= *off; in __splice_segment()
3105 *off = 0; in __splice_segment()
5703 bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off) in skb_partial_csum_set() argument
5705 u32 csum_end = (u32)start + (u32)off + sizeof(__sum16); in skb_partial_csum_set()
5710 start, off, skb_headroom(skb), skb_headlen(skb)); in skb_partial_csum_set()
5715 skb->csum_offset = off; in skb_partial_csum_set()
5746 unsigned int off) in skb_checksum_setup_ip() argument
5752 err = skb_maybe_pull_tail(skb, off + sizeof(struct tcphdr), in skb_checksum_setup_ip()
5753 off + MAX_TCP_HDR_LEN); in skb_checksum_setup_ip()
5754 if (!err && !skb_partial_csum_set(skb, off, in skb_checksum_setup_ip()
5761 err = skb_maybe_pull_tail(skb, off + sizeof(struct udphdr), in skb_checksum_setup_ip()
5762 off + sizeof(struct udphdr)); in skb_checksum_setup_ip()
5763 if (!err && !skb_partial_csum_set(skb, off, in skb_checksum_setup_ip()
5780 unsigned int off; in skb_checksum_setup_ipv4() local
5796 off = ip_hdrlen(skb); in skb_checksum_setup_ipv4()
5803 csum = skb_checksum_setup_ip(skb, ip_hdr(skb)->protocol, off); in skb_checksum_setup_ipv4()
5810 skb->len - off, in skb_checksum_setup_ipv4()
5823 #define OPT_HDR(type, skb, off) \ argument
5824 (type *)(skb_network_header(skb) + (off))
5830 unsigned int off; in skb_checksum_setup_ipv6() local
5839 off = sizeof(struct ipv6hdr); in skb_checksum_setup_ipv6()
5841 err = skb_maybe_pull_tail(skb, off, MAX_IPV6_HDR_LEN); in skb_checksum_setup_ipv6()
5848 while (off <= len && !done) { in skb_checksum_setup_ipv6()
5856 off + in skb_checksum_setup_ipv6()
5862 hp = OPT_HDR(struct ipv6_opt_hdr, skb, off); in skb_checksum_setup_ipv6()
5864 off += ipv6_optlen(hp); in skb_checksum_setup_ipv6()
5871 off + in skb_checksum_setup_ipv6()
5877 hp = OPT_HDR(struct ip_auth_hdr, skb, off); in skb_checksum_setup_ipv6()
5879 off += ipv6_authlen(hp); in skb_checksum_setup_ipv6()
5886 off + in skb_checksum_setup_ipv6()
5892 hp = OPT_HDR(struct frag_hdr, skb, off); in skb_checksum_setup_ipv6()
5898 off += sizeof(struct frag_hdr); in skb_checksum_setup_ipv6()
5912 csum = skb_checksum_setup_ip(skb, nexthdr, off); in skb_checksum_setup_ipv6()
5919 skb->len - off, nexthdr, 0); in skb_checksum_setup_ipv6()
6705 static int pskb_carve_inside_header(struct sk_buff *skb, const u32 off, in pskb_carve_inside_header() argument
6710 int new_hlen = headlen - off; in pskb_carve_inside_header()
6722 skb_copy_from_linear_data_offset(skb, off, data, new_hlen); in pskb_carve_inside_header()
6723 skb->len -= off; in pskb_carve_inside_header()
6761 static int pskb_carve(struct sk_buff *skb, const u32 off, gfp_t gfp);
6819 static int pskb_carve_inside_nonlinear(struct sk_buff *skb, const u32 off, in pskb_carve_inside_nonlinear() argument
6846 if (pos + fsize > off) { in pskb_carve_inside_nonlinear()
6849 if (pos < off) { in pskb_carve_inside_nonlinear()
6858 skb_frag_off_add(&shinfo->frags[0], off - pos); in pskb_carve_inside_nonlinear()
6859 skb_frag_size_sub(&shinfo->frags[0], off - pos); in pskb_carve_inside_nonlinear()
6871 if (k == 0 && pskb_carve_frag_list(shinfo, off - pos, gfp_mask)) { in pskb_carve_inside_nonlinear()
6889 skb->len -= off; in pskb_carve_inside_nonlinear()
6909 struct sk_buff *pskb_extract(struct sk_buff *skb, int off, in pskb_extract() argument
6917 if (pskb_carve(clone, off, gfp) < 0 || in pskb_extract()
7255 size_t off; in skb_splice_from_iter() local
7265 len = iov_iter_extract_pages(iter, &ppages, maxsize, nr, 0, &off); in skb_splice_from_iter()
7274 size_t part = min_t(size_t, PAGE_SIZE - off, len); in skb_splice_from_iter()
7280 ret = skb_append_pagefrags(skb, page, off, part, in skb_splice_from_iter()
7288 skb_splice_csum_page(skb, page, off, part); in skb_splice_from_iter()
7290 off = 0; in skb_splice_from_iter()