Home
last modified time | relevance | path

Searched refs:srhoff (Results 1 – 6 of 6) sorted by relevance

/linux-6.12.1/net/ipv6/netfilter/
Dip6t_srh.c29 int hdrlen, srhoff = 0; in srh_mt6() local
31 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in srh_mt6()
33 srh = skb_header_pointer(skb, srhoff, sizeof(_srh), &_srh); in srh_mt6()
38 if (skb->len - srhoff < hdrlen) in srh_mt6()
118 int hdrlen, psidoff, nsidoff, lsidoff, srhoff = 0; in srh1_mt6() local
125 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in srh1_mt6()
127 srh = skb_header_pointer(skb, srhoff, sizeof(_srh), &_srh); in srh1_mt6()
132 if (skb->len - srhoff < hdrlen) in srh1_mt6()
206 psidoff = srhoff + sizeof(struct ipv6_sr_hdr) + in srh1_mt6()
221 nsidoff = srhoff + sizeof(struct ipv6_sr_hdr) + in srh1_mt6()
[all …]
/linux-6.12.1/net/ipv6/
Dseg6.c79 int len, srhoff = 0; in seg6_get_srh() local
81 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, &flags) < 0) in seg6_get_srh()
84 if (!pskb_may_pull(skb, srhoff + sizeof(*srh))) in seg6_get_srh()
87 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in seg6_get_srh()
91 if (!pskb_may_pull(skb, srhoff + len)) in seg6_get_srh()
97 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in seg6_get_srh()
128 opt->srhoff = (unsigned char *)srh - skb->data; in seg6_icmp_srh()
Dseg6_local.c625 static bool seg6_pop_srh(struct sk_buff *skb, int srhoff) in seg6_pop_srh() argument
634 if (unlikely(srhoff < sizeof(*iph) || in seg6_pop_srh()
635 !pskb_may_pull(skb, srhoff + sizeof(*srh)))) in seg6_pop_srh()
638 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in seg6_pop_srh()
642 if (unlikely(skb_ensure_writable(skb, srhoff + srhlen))) in seg6_pop_srh()
646 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in seg6_pop_srh()
657 if (likely(nhlen <= srhoff)) in seg6_pop_srh()
659 else if (nhlen >= srhoff + srhlen) in seg6_pop_srh()
677 skb_pull_rcsum(skb, srhoff + srhlen); in seg6_pop_srh()
679 srhoff); in seg6_pop_srh()
[all …]
/linux-6.12.1/include/net/
Dseg6.h86 srh = (struct ipv6_sr_hdr *)(skb->data + opt->srhoff); in seg6_get_daddr()
/linux-6.12.1/include/linux/
Dipv6.h146 __u16 srhoff; member
/linux-6.12.1/net/core/
Dfilter.c6479 int srhoff = 0; in BPF_CALL_4() local
6497 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in BPF_CALL_4()
6499 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in BPF_CALL_4()
6519 int srhoff = 0; in bpf_update_srh_state() local
6521 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) { in bpf_update_srh_state()
6524 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in bpf_update_srh_state()
6612 int srhoff = 0; in BPF_CALL_3() local
6647 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in BPF_CALL_3()
6649 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in BPF_CALL_3()