Home
last modified time | relevance | path

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

/linux-6.6.21/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.6.21/net/ipv6/
Dseg6.c81 int len, srhoff = 0; in seg6_get_srh() local
83 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, &flags) < 0) in seg6_get_srh()
86 if (!pskb_may_pull(skb, srhoff + sizeof(*srh))) in seg6_get_srh()
89 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in seg6_get_srh()
93 if (!pskb_may_pull(skb, srhoff + len)) in seg6_get_srh()
99 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in seg6_get_srh()
130 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.6.21/include/net/
Dseg6.h79 srh = (struct ipv6_sr_hdr *)(skb->data + opt->srhoff); in seg6_get_daddr()
/linux-6.6.21/include/linux/
Dipv6.h138 __u16 srhoff; member
/linux-6.6.21/net/core/
Dfilter.c6393 int srhoff = 0; in BPF_CALL_4() local
6410 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in BPF_CALL_4()
6412 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in BPF_CALL_4()
6432 int srhoff = 0; in bpf_update_srh_state() local
6434 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) { in bpf_update_srh_state()
6437 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in bpf_update_srh_state()
6524 int srhoff = 0; in BPF_CALL_3() local
6558 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in BPF_CALL_3()
6560 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in BPF_CALL_3()