Home
last modified time | relevance | path

Searched refs:thoff (Results 1 – 25 of 52) sorted by relevance

123

/Linux-v5.4/net/netfilter/
Dnf_flow_table_ip.c20 struct sk_buff *skb, unsigned int thoff) in nf_flow_state_check() argument
27 if (!pskb_may_pull(skb, thoff + sizeof(*tcph))) in nf_flow_state_check()
30 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_state_check()
39 static int nf_flow_nat_ip_tcp(struct sk_buff *skb, unsigned int thoff, in nf_flow_nat_ip_tcp() argument
44 if (!pskb_may_pull(skb, thoff + sizeof(*tcph)) || in nf_flow_nat_ip_tcp()
45 skb_try_make_writable(skb, thoff + sizeof(*tcph))) in nf_flow_nat_ip_tcp()
48 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_ip_tcp()
54 static int nf_flow_nat_ip_udp(struct sk_buff *skb, unsigned int thoff, in nf_flow_nat_ip_udp() argument
59 if (!pskb_may_pull(skb, thoff + sizeof(*udph)) || in nf_flow_nat_ip_udp()
60 skb_try_make_writable(skb, thoff + sizeof(*udph))) in nf_flow_nat_ip_udp()
[all …]
Dnf_flow_table_core.c347 static int nf_flow_nat_port_tcp(struct sk_buff *skb, unsigned int thoff, in nf_flow_nat_port_tcp() argument
352 if (!pskb_may_pull(skb, thoff + sizeof(*tcph)) || in nf_flow_nat_port_tcp()
353 skb_try_make_writable(skb, thoff + sizeof(*tcph))) in nf_flow_nat_port_tcp()
356 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_port_tcp()
362 static int nf_flow_nat_port_udp(struct sk_buff *skb, unsigned int thoff, in nf_flow_nat_port_udp() argument
367 if (!pskb_may_pull(skb, thoff + sizeof(*udph)) || in nf_flow_nat_port_udp()
368 skb_try_make_writable(skb, thoff + sizeof(*udph))) in nf_flow_nat_port_udp()
371 udph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_port_udp()
382 static int nf_flow_nat_port(struct sk_buff *skb, unsigned int thoff, in nf_flow_nat_port() argument
387 if (nf_flow_nat_port_tcp(skb, thoff, port, new_port) < 0) in nf_flow_nat_port()
[all …]
Dxt_l2tp.c79 static bool l2tp_udp_mt(const struct sk_buff *skb, struct xt_action_param *par, u16 thoff) in l2tp_udp_mt() argument
83 int offs = thoff + uhlen; in l2tp_udp_mt()
139 static bool l2tp_ip_mt(const struct sk_buff *skb, struct xt_action_param *par, u16 thoff) in l2tp_ip_mt() argument
147 lh = skb_header_pointer(skb, thoff, sizeof(lhbuf), &lhbuf); in l2tp_ip_mt()
155 lh = skb_header_pointer(skb, thoff + 8, sizeof(lhbuf), in l2tp_ip_mt()
178 return l2tp_udp_mt(skb, par, par->thoff); in l2tp_mt4()
180 return l2tp_ip_mt(skb, par, par->thoff); in l2tp_mt4()
189 unsigned int thoff = 0; in l2tp_mt6() local
193 ipproto = ipv6_find_hdr(skb, &thoff, -1, &fragoff, NULL); in l2tp_mt6()
200 return l2tp_udp_mt(skb, par, thoff); in l2tp_mt6()
[all …]
Dxt_TPROXY.c121 int thoff = 0; in tproxy_tg6_v1() local
124 tproto = ipv6_find_hdr(skb, &thoff, -1, NULL, NULL); in tproxy_tg6_v1()
130 hp = skb_header_pointer(skb, thoff, sizeof(_hdr), &_hdr); in tproxy_tg6_v1()
140 sk = nf_tproxy_get_sock_v6(xt_net(par), skb, thoff, tproto, in tproxy_tg6_v1()
152 sk = nf_tproxy_handle_time_wait6(skb, tproto, thoff, in tproxy_tg6_v1()
161 sk = nf_tproxy_get_sock_v6(xt_net(par), skb, thoff, in tproxy_tg6_v1()
Dnft_tproxy.c86 int thoff = pkt->xt.thoff; in nft_tproxy_eval_v6() local
100 hp = skb_header_pointer(skb, thoff, sizeof(_hdr), &_hdr); in nft_tproxy_eval_v6()
110 sk = nf_tproxy_get_sock_v6(nft_net(pkt), skb, thoff, l4proto, in nft_tproxy_eval_v6()
127 sk = nf_tproxy_handle_time_wait6(skb, l4proto, thoff, in nft_tproxy_eval_v6()
136 sk = nf_tproxy_get_sock_v6(nft_net(pkt), skb, thoff, in nft_tproxy_eval_v6()
Dxt_tcpmss.c36 th = skb_header_pointer(skb, par->thoff, sizeof(_tcph), &_tcph); in tcpmss_mt()
49 op = skb_header_pointer(skb, par->thoff + sizeof(*th), optlen, _opt); in tcpmss_mt()
Dxt_tcpudp.c87 th = skb_header_pointer(skb, par->thoff, sizeof(_tcph), &_tcph); in tcp_mt()
112 if (!tcp_find_option(tcpinfo->option, skb, par->thoff, in tcp_mt()
139 uh = skb_header_pointer(skb, par->thoff, sizeof(_udph), &_udph); in udp_mt()
Dnft_synproxy.c112 int thoff = pkt->xt.thoff; in nft_synproxy_do_eval() local
121 if (nf_ip_checksum(skb, nft_hook(pkt), thoff, IPPROTO_TCP)) { in nft_synproxy_do_eval()
126 tcp = skb_header_pointer(skb, pkt->xt.thoff, in nft_synproxy_do_eval()
134 if (!synproxy_parse_options(skb, thoff, tcp, &opts)) { in nft_synproxy_do_eval()
Dnf_synproxy_core.c668 unsigned int thoff; in ipv4_synproxy_hook() local
682 thoff = ip_hdrlen(skb); in ipv4_synproxy_hook()
683 th = skb_header_pointer(skb, thoff, sizeof(_th), &_th); in ipv4_synproxy_hook()
710 if (!synproxy_parse_options(skb, thoff, th, &opts)) in ipv4_synproxy_hook()
739 if (!synproxy_parse_options(skb, thoff, th, &opts)) in ipv4_synproxy_hook()
766 synproxy_tstamp_adjust(skb, thoff, th, ct, ctinfo, synproxy); in ipv4_synproxy_hook()
1088 int thoff; in ipv6_synproxy_hook() local
1102 thoff = ipv6_skip_exthdr(skb, sizeof(struct ipv6hdr), &nexthdr, in ipv6_synproxy_hook()
1104 if (thoff < 0 || nexthdr != IPPROTO_TCP) in ipv6_synproxy_hook()
1107 th = skb_header_pointer(skb, thoff, sizeof(_th), &_th); in ipv6_synproxy_hook()
[all …]
Dnft_payload.c102 offset = pkt->xt.thoff; in nft_payload_eval()
401 static bool nft_payload_udp_checksum(struct sk_buff *skb, unsigned int thoff) in nft_payload_udp_checksum() argument
405 uh = skb_header_pointer(skb, thoff, sizeof(_uh), &_uh); in nft_payload_udp_checksum()
421 if (!nft_payload_udp_checksum(skb, pkt->xt.thoff)) in nft_payload_l4csum_offset()
434 *l4csum_offset += pkt->xt.thoff; in nft_payload_l4csum_offset()
513 offset = pkt->xt.thoff; in nft_payload_set_eval()
/Linux-v5.4/include/net/netfilter/
Dnf_tables_ipv6.h13 int protohdr, thoff = 0; in nft_set_pktinfo_ipv6() local
16 protohdr = ipv6_find_hdr(pkt->skb, &thoff, -1, &frag_off, &flags); in nft_set_pktinfo_ipv6()
24 pkt->xt.thoff = thoff; in nft_set_pktinfo_ipv6()
34 unsigned int thoff = 0; in __nft_set_pktinfo_ipv6_validate() local
51 protohdr = ipv6_find_hdr(pkt->skb, &thoff, -1, &frag_off, &flags); in __nft_set_pktinfo_ipv6_validate()
57 pkt->xt.thoff = thoff; in __nft_set_pktinfo_ipv6_validate()
Dnf_tables_ipv4.h16 pkt->xt.thoff = ip_hdrlen(pkt->skb); in nft_set_pktinfo_ipv4()
24 u32 len, thoff; in __nft_set_pktinfo_ipv4_validate() local
35 thoff = iph->ihl * 4; in __nft_set_pktinfo_ipv4_validate()
38 else if (len < thoff) in __nft_set_pktinfo_ipv4_validate()
43 pkt->xt.thoff = thoff; in __nft_set_pktinfo_ipv4_validate()
Dnf_tproxy.h107 nf_tproxy_handle_time_wait6(struct sk_buff *skb, int tproto, int thoff,
114 nf_tproxy_get_sock_v6(struct net *net, struct sk_buff *skb, int thoff,
Dnf_flow_table.h108 struct sk_buff *skb, unsigned int thoff,
111 struct sk_buff *skb, unsigned int thoff,
/Linux-v5.4/tools/testing/selftests/bpf/progs/
Dbpf_flow.c97 __u16 thoff = skb->flow_keys->thoff; in bpf_flow_dissect_get_header() local
101 if (thoff > (USHRT_MAX - hdr_size)) in bpf_flow_dissect_get_header()
104 hdr = data + thoff; in bpf_flow_dissect_get_header()
108 if (bpf_skb_load_bytes(skb, thoff, buffer, hdr_size)) in bpf_flow_dissect_get_header()
188 keys->thoff += sizeof(*gre); /* Step over GRE Flags and Proto */ in parse_ip_proto()
190 keys->thoff += 4; /* Step over chksum and Padding */ in parse_ip_proto()
192 keys->thoff += 4; /* Step over key */ in parse_ip_proto()
194 keys->thoff += 4; /* Step over sequence number */ in parse_ip_proto()
206 keys->thoff += sizeof(*eth); in parse_ip_proto()
282 keys->thoff += iph->ihl << 2; in PROG()
[all …]
/Linux-v5.4/net/ipv6/netfilter/
Dnf_tproxy_ipv6.c39 nf_tproxy_handle_time_wait6(struct sk_buff *skb, int tproto, int thoff, in nf_tproxy_handle_time_wait6() argument
48 hp = skb_header_pointer(skb, thoff, sizeof(_hdr), &_hdr); in nf_tproxy_handle_time_wait6()
59 sk2 = nf_tproxy_get_sock_v6(net, skb, thoff, tproto, in nf_tproxy_handle_time_wait6()
76 nf_tproxy_get_sock_v6(struct net *net, struct sk_buff *skb, int thoff, in nf_tproxy_get_sock_v6() argument
89 hp = skb_header_pointer(skb, thoff, in nf_tproxy_get_sock_v6()
97 thoff + __tcp_hdrlen(hp), in nf_tproxy_get_sock_v6()
Dnf_socket_ipv6.c105 int thoff = 0, tproto; in nf_sk_lookup_slow_v6() local
107 tproto = ipv6_find_hdr(skb, &thoff, -1, NULL, NULL); in nf_sk_lookup_slow_v6()
117 hp = skb_header_pointer(skb, thoff, tproto == IPPROTO_UDP ? in nf_sk_lookup_slow_v6()
128 thoff + __tcp_hdrlen((struct tcphdr *)hp) : in nf_sk_lookup_slow_v6()
129 thoff + sizeof(*hp); in nf_sk_lookup_slow_v6()
134 if (extract_icmp6_fields(skb, thoff, &tproto, &saddr, &daddr, in nf_sk_lookup_slow_v6()
Dnf_reject_ipv6.c220 int thoff; in reject6_csum_ok() local
228 thoff = ipv6_skip_exthdr(skb, ((u8 *)(ip6h + 1) - skb->data), &proto, &fo); in reject6_csum_ok()
230 if (thoff < 0 || thoff >= skb->len || (fo & htons(~0x7)) != 0) in reject6_csum_ok()
236 return nf_ip6_checksum(skb, hook, thoff, proto) == 0; in reject6_csum_ok()
Dip6t_SYNPROXY.c21 if (nf_ip6_checksum(skb, xt_hooknum(par), par->thoff, IPPROTO_TCP)) in synproxy_tg6()
24 th = skb_header_pointer(skb, par->thoff, sizeof(_th), &_th); in synproxy_tg6()
28 if (!synproxy_parse_options(skb, par->thoff, th, &opts)) in synproxy_tg6()
/Linux-v5.4/tools/testing/selftests/bpf/prog_tests/
Dflow_dissector.c27 got.thoff, expected.thoff, \
117 .thoff = ETH_HLEN + sizeof(struct iphdr),
137 .thoff = ETH_HLEN + sizeof(struct ipv6hdr),
159 .thoff = ETH_HLEN + VLAN_HLEN + sizeof(struct iphdr),
181 .thoff = ETH_HLEN + VLAN_HLEN * 2 +
205 .thoff = ETH_HLEN + sizeof(struct iphdr),
230 .thoff = ETH_HLEN + sizeof(struct iphdr),
252 .thoff = ETH_HLEN + sizeof(struct ipv6hdr) +
277 .thoff = ETH_HLEN + sizeof(struct ipv6hdr) +
299 .thoff = ETH_HLEN + sizeof(struct ipv6hdr),
[all …]
/Linux-v5.4/net/ipv4/netfilter/
Dipt_SYNPROXY.c21 if (nf_ip_checksum(skb, xt_hooknum(par), par->thoff, IPPROTO_TCP)) in synproxy_tg4()
24 th = skb_header_pointer(skb, par->thoff, sizeof(_th), &_th); in synproxy_tg4()
28 if (!synproxy_parse_options(skb, par->thoff, th, &opts)) in synproxy_tg4()
/Linux-v5.4/net/ipv6/
Dtcpv6_offload.c29 INDIRECT_CALLABLE_SCOPE int tcp6_gro_complete(struct sk_buff *skb, int thoff) in tcp6_gro_complete() argument
34 th->check = ~tcp_v6_check(skb->len - thoff, &iph->saddr, in tcp6_gro_complete()
/Linux-v5.4/Documentation/bpf/
Dprog_flow_dissector.rst27 * ``thoff`` - initial offset of the transport header, initialized to nhoff
32 bpf_flow_keys`` fields. Input arguments ``nhoff/thoff/n_proto`` should be
55 flow_keys->thoff = nhoff
72 flow_keys->thoff = nhoff
91 flow_keys->thoff = nhoff
/Linux-v5.4/net/bridge/netfilter/
Dnft_reject_bridge.c215 int thoff; in reject6_br_csum_ok() local
227 thoff = ipv6_skip_exthdr(skb, ((u8*)(ip6h+1) - skb->data), &proto, &fo); in reject6_br_csum_ok()
228 if (thoff < 0 || thoff >= skb->len || (fo & htons(~0x7)) != 0) in reject6_br_csum_ok()
234 return nf_ip6_checksum(skb, hook, thoff, proto) == 0; in reject6_br_csum_ok()
/Linux-v5.4/net/sched/
Dem_ipset.c67 acpar.thoff = ip_hdrlen(skb); in em_ipset_match()
74 acpar.thoff = sizeof(struct ipv6hdr); in em_ipset_match()

123