/kernel/linux/linux-5.10/net/ipv6/netfilter/ |
H A D | ip6t_srh.c | 29 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 in srh1_mt6() [all...] |
/kernel/linux/linux-6.6/net/ipv6/netfilter/ |
H A D | ip6t_srh.c | 29 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 in srh1_mt6() [all...] |
/kernel/linux/linux-6.6/net/ipv6/ |
H A D | seg6.c | 81 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()
|
H A D | seg6_local.c | 625 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() 746 int srhoff; end_flv8986_core() local [all...] |
/kernel/linux/linux-5.10/net/ipv6/ |
H A D | seg6_local.c | 70 int len, srhoff = 0; in get_srh() local 72 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in get_srh() 75 if (!pskb_may_pull(skb, srhoff + sizeof(*srh))) in get_srh() 78 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in get_srh() 82 if (!pskb_may_pull(skb, srhoff + len)) in get_srh() 88 srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in get_srh()
|
/kernel/linux/linux-6.6/include/net/ |
H A D | seg6.h | 79 srh = (struct ipv6_sr_hdr *)(skb->data + opt->srhoff); in seg6_get_daddr()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | ipv6.h | 138 __u16 srhoff; member
|
/kernel/linux/linux-5.10/net/core/ |
H A D | filter.c | 5796 int srhoff = 0; in BPF_CALL_4() local 5813 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in BPF_CALL_4() 5815 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in BPF_CALL_4() 5835 int srhoff = 0; in bpf_update_srh_state() local 5837 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) { in bpf_update_srh_state() 5840 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in bpf_update_srh_state() 5927 int srhoff = 0; in BPF_CALL_3() local 5961 if (ipv6_find_hdr(skb, &srhoff, IPPROTO_ROUTING, NULL, NULL) < 0) in BPF_CALL_3() 5963 srh_state->srh = (struct ipv6_sr_hdr *)(skb->data + srhoff); in BPF_CALL_3()
|
/kernel/linux/linux-6.6/net/core/ |
H A D | filter.c | 6393 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()
|