Lines Matching refs:hoffset
332 static int pedit_l4_skb_offset(struct sk_buff *skb, int *hoffset, const int header_type) in pedit_l4_skb_offset() argument
344 *hoffset = noff + iph->ihl * 4; in pedit_l4_skb_offset()
349 ret = ipv6_find_hdr(skb, hoffset, header_type, NULL, NULL) == header_type ? 0 : -EINVAL; in pedit_l4_skb_offset()
357 enum pedit_header_type htype, int *hoffset) in pedit_skb_hdr_offset() argument
364 *hoffset = skb_mac_offset(skb); in pedit_skb_hdr_offset()
371 *hoffset = skb_network_offset(skb); in pedit_skb_hdr_offset()
375 ret = pedit_l4_skb_offset(skb, hoffset, IPPROTO_TCP); in pedit_skb_hdr_offset()
378 ret = pedit_l4_skb_offset(skb, hoffset, IPPROTO_UDP); in pedit_skb_hdr_offset()
416 int hoffset = 0; in tcf_pedit_act() local
428 rc = pedit_skb_hdr_offset(skb, htype, &hoffset); in tcf_pedit_act()
437 if (!offset_valid(skb, hoffset + tkey->at)) { in tcf_pedit_act()
439 hoffset + tkey->at); in tcf_pedit_act()
442 d = skb_header_pointer(skb, hoffset + tkey->at, in tcf_pedit_act()
454 if (!offset_valid(skb, hoffset + offset)) { in tcf_pedit_act()
455 pr_info_ratelimited("tc action pedit offset %d out of bounds\n", hoffset + offset); in tcf_pedit_act()
459 ptr = skb_header_pointer(skb, hoffset + offset, in tcf_pedit_act()
478 skb_store_bits(skb, hoffset + offset, ptr, 4); in tcf_pedit_act()