| /net/netfilter/ |
| A D | nf_flow_table_ip.c | 67 unsigned int thoff, __be32 addr, in nf_flow_nat_ip_l4proto() argument 181 unsigned int thoff; in nf_flow_tuple_ip() local 189 thoff = (iph->ihl * 4); in nf_flow_tuple_ip() 195 thoff += ctx->offset; in nf_flow_tuple_ip() 377 unsigned int thoff, mtu; in nf_flow_offload_forward() local 403 thoff -= ctx->offset; in nf_flow_offload_forward() 522 unsigned int thoff, in nf_flow_snat_ipv6() argument 545 unsigned int thoff, in nf_flow_dnat_ipv6() argument 588 unsigned int thoff; in nf_flow_tuple_ipv6() local 592 if (!pskb_may_pull(skb, thoff)) in nf_flow_tuple_ipv6() [all …]
|
| A D | xt_l2tp.c | 79 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 …]
|
| A D | nft_inner.c | 63 u32 nhoff, thoff; in nft_inner_parse_l2l3() local 136 thoff = nhoff + (iph->ihl * 4); in nft_inner_parse_l2l3() 139 ctx->inner_thoff = thoff; in nft_inner_parse_l2l3() 160 thoff = nhoff; in nft_inner_parse_l2l3() 161 l4proto = ipv6_find_hdr(pkt->skb, &thoff, -1, &fragoff, &fh_flags); in nft_inner_parse_l2l3() 162 if (l4proto < 0 || thoff > U16_MAX) in nft_inner_parse_l2l3() 166 thoff = nhoff + sizeof(_ip6h); in nft_inner_parse_l2l3() 168 ctx->inner_thoff = thoff; in nft_inner_parse_l2l3() 185 ctx->inner_tunoff = pkt->thoff; in nft_inner_parse_tunhdr()
|
| A D | xt_TPROXY.c | 113 int thoff = 0; in tproxy_tg6_v1() local 116 tproto = ipv6_find_hdr(skb, &thoff, -1, NULL, NULL); in tproxy_tg6_v1() 120 hp = skb_header_pointer(skb, thoff, sizeof(_hdr), &_hdr); in tproxy_tg6_v1() 128 sk = nf_tproxy_get_sock_v6(xt_net(par), skb, thoff, tproto, in tproxy_tg6_v1() 140 sk = nf_tproxy_handle_time_wait6(skb, tproto, thoff, in tproxy_tg6_v1() 149 sk = nf_tproxy_get_sock_v6(xt_net(par), skb, thoff, in tproxy_tg6_v1()
|
| A D | nf_flow_table_core.c | 605 tcph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_port_tcp() 614 udph = (void *)(skb_network_header(skb) + thoff); in nf_flow_nat_port_udp() 623 static void nf_flow_nat_port(struct sk_buff *skb, unsigned int thoff, in nf_flow_nat_port() argument 628 nf_flow_nat_port_tcp(skb, thoff, port, new_port); in nf_flow_nat_port() 631 nf_flow_nat_port_udp(skb, thoff, port, new_port); in nf_flow_nat_port() 637 struct sk_buff *skb, unsigned int thoff, in nf_flow_snat_port() argument 643 hdr = (void *)(skb_network_header(skb) + thoff); in nf_flow_snat_port() 658 nf_flow_nat_port(skb, thoff, protocol, port, new_port); in nf_flow_snat_port() 663 unsigned int thoff, u8 protocol, in nf_flow_dnat_port() argument 669 hdr = (void *)(skb_network_header(skb) + thoff); in nf_flow_dnat_port() [all …]
|
| A D | xt_tcpudp.c | 90 th = skb_header_pointer(skb, par->thoff, sizeof(_tcph), &_tcph); in tcp_mt() 115 if (!tcp_find_option(tcpinfo->option, skb, par->thoff, in tcp_mt() 142 uh = skb_header_pointer(skb, par->thoff, sizeof(_udph), &_udph); in udp_mt() 199 ic = skb_header_pointer(skb, par->thoff, sizeof(_icmph), &_icmph); in icmp_match() 226 ic = skb_header_pointer(skb, par->thoff, sizeof(_icmph), &_icmph); in icmp6_match()
|
| A D | nft_tproxy.c | 91 int thoff = nft_thoff(pkt); in nft_tproxy_eval_v6() local 107 hp = skb_header_pointer(skb, thoff, sizeof(_hdr), &_hdr); in nft_tproxy_eval_v6() 117 sk = nf_tproxy_get_sock_v6(nft_net(pkt), skb, thoff, l4proto, in nft_tproxy_eval_v6() 134 sk = nf_tproxy_handle_time_wait6(skb, l4proto, thoff, in nft_tproxy_eval_v6() 143 sk = nf_tproxy_get_sock_v6(nft_net(pkt), skb, thoff, in nft_tproxy_eval_v6()
|
| A D | nf_synproxy_core.c | 650 unsigned int thoff; in ipv4_synproxy_hook() local 664 thoff = ip_hdrlen(skb); in ipv4_synproxy_hook() 665 th = skb_header_pointer(skb, thoff, sizeof(_th), &_th); in ipv4_synproxy_hook() 691 if (!synproxy_parse_options(skb, thoff, th, &opts)) in ipv4_synproxy_hook() 720 if (!synproxy_parse_options(skb, thoff, th, &opts)) in ipv4_synproxy_hook() 747 synproxy_tstamp_adjust(skb, thoff, th, ct, ctinfo, synproxy); in ipv4_synproxy_hook() 1069 int thoff; in ipv6_synproxy_hook() local 1085 if (thoff < 0 || nexthdr != IPPROTO_TCP) in ipv6_synproxy_hook() 1088 th = skb_header_pointer(skb, thoff, sizeof(_th), &_th); in ipv6_synproxy_hook() 1114 if (!synproxy_parse_options(skb, thoff, th, &opts)) in ipv6_synproxy_hook() [all …]
|
| A D | nft_payload.c | 76 unsigned int thoff = nft_thoff(pkt); in __nft_payload_inner_offset() local 83 pkt->inneroff = thoff + sizeof(struct udphdr); in __nft_payload_inner_offset() 88 th = skb_header_pointer(pkt->skb, thoff, sizeof(_tcph), &_tcph); in __nft_payload_inner_offset() 92 pkt->inneroff = thoff + __tcp_hdrlen(th); in __nft_payload_inner_offset() 100 gre = skb_header_pointer(pkt->skb, thoff, sizeof(_gre), &_gre); in __nft_payload_inner_offset() 124 pkt->inneroff = thoff + offset; in __nft_payload_inner_offset() 128 pkt->inneroff = thoff; in __nft_payload_inner_offset() 692 static bool nft_payload_udp_checksum(struct sk_buff *skb, unsigned int thoff) in nft_payload_udp_checksum() argument 696 uh = skb_header_pointer(skb, thoff, sizeof(_uh), &_uh); in nft_payload_udp_checksum()
|
| A D | xt_tcpmss.c | 36 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()
|
| A D | nft_synproxy.c | 112 int thoff = nft_thoff(pkt); 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, thoff, in nft_synproxy_do_eval() 134 if (!synproxy_parse_options(skb, thoff, tcp, &opts)) { in nft_synproxy_do_eval()
|
| A D | xt_dccp.c | 105 dh = skb_header_pointer(skb, par->thoff, sizeof(_dh), &_dh); in dccp_mt() 119 && DCCHECK(match_option(info->option, skb, par->thoff, dh, in dccp_mt()
|
| A D | xt_sctp.c | 129 sh = skb_header_pointer(skb, par->thoff, sizeof(_sh), &_sh); in sctp_mt() 143 SCCHECK(match_packet(skb, par->thoff + sizeof(_sh), in sctp_mt()
|
| A D | nft_exthdr.c | 416 unsigned int thoff, dataoff, optoff, optlen, i; in nft_exthdr_dccp_eval() local 424 thoff = nft_thoff(pkt); in nft_exthdr_dccp_eval() 426 dh = skb_header_pointer(pkt->skb, thoff, sizeof(_dh), &_dh); in nft_exthdr_dccp_eval() 455 bufp = skb_header_pointer(pkt->skb, thoff + optoff + i, buflen, in nft_exthdr_dccp_eval()
|
| /net/ipv6/netfilter/ |
| A D | nf_reject_ipv6.c | 18 int thoff; in nf_reject_v6_csum_ok() local 30 thoff = ipv6_skip_exthdr(skb, ((u8*)(ip6h+1) - skb->data), &proto, &fo); in nf_reject_v6_csum_ok() 31 if (thoff < 0 || thoff >= skb->len || (fo & htons(~0x7)) != 0) in nf_reject_v6_csum_ok() 34 if (!nf_reject_verify_csum(skb, thoff, proto)) in nf_reject_v6_csum_ok() 37 return nf_ip6_checksum(skb, hook, thoff, proto) == 0; in nf_reject_v6_csum_ok() 372 int thoff; in reject6_csum_ok() local 380 thoff = ipv6_skip_exthdr(skb, ((u8 *)(ip6h + 1) - skb->data), &proto, &fo); in reject6_csum_ok() 382 if (thoff < 0 || thoff >= skb->len || (fo & htons(~0x7)) != 0) in reject6_csum_ok() 385 if (!nf_reject_verify_csum(skb, thoff, proto)) in reject6_csum_ok() 388 return nf_ip6_checksum(skb, hook, thoff, proto) == 0; in reject6_csum_ok()
|
| A D | nf_tproxy_ipv6.c | 39 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 90 hp = skb_header_pointer(skb, thoff, in nf_tproxy_get_sock_v6() 98 thoff + __tcp_hdrlen(hp), in nf_tproxy_get_sock_v6()
|
| A D | nf_socket_ipv6.c | 105 int thoff = 0, tproto; in nf_sk_lookup_slow_v6() local 111 tproto = ipv6_find_hdr(skb, &thoff, -1, NULL, NULL); in nf_sk_lookup_slow_v6() 121 hp = skb_header_pointer(skb, thoff, tproto == IPPROTO_UDP ? in nf_sk_lookup_slow_v6() 132 thoff + __tcp_hdrlen((struct tcphdr *)hp) : in nf_sk_lookup_slow_v6() 133 thoff + sizeof(*hp); in nf_sk_lookup_slow_v6() 136 if (extract_icmp6_fields(skb, thoff, &tproto, &saddr, &daddr, in nf_sk_lookup_slow_v6()
|
| A D | ip6t_SYNPROXY.c | 21 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()
|
| A D | ip6t_mh.c | 41 mh = skb_header_pointer(skb, par->thoff, sizeof(_mh), &_mh); in mh_mt6()
|
| /net/ipv4/netfilter/ |
| A D | ipt_SYNPROXY.c | 21 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()
|
| A D | ipt_ah.c | 40 ah = skb_header_pointer(skb, par->thoff, sizeof(_ahdr), &_ahdr); in ah_mt()
|
| /net/core/ |
| A D | flow_dissector.c | 132 ports = __skb_header_pointer(skb, thoff + poff, in skb_flow_get_ports() 167 const void *data, int thoff, int hlen) in skb_flow_get_icmp_tci() argument 171 ih = __skb_header_pointer(skb, thoff, sizeof(_ih), data, hlen, &_ih); in skb_flow_get_icmp_tci() 194 int thoff, int hlen) in __skb_flow_dissect_icmp() argument 205 skb_flow_get_icmp_tci(skb, key_icmp, data, thoff, hlen); in __skb_flow_dissect_icmp() 829 int thoff, int hlen) in __skb_flow_dissect_tcp() argument 944 key_control->thoff = flow_keys->thoff; in __skb_flow_bpf_to_target() 1014 flow_keys->thoff = flow_keys->nhoff; in bpf_flow_dissect() 1027 flow_keys->thoff = clamp_t(u16, flow_keys->thoff, in bpf_flow_dissect() 1690 key_control->thoff = min_t(u16, nhoff, skb ? skb->len : hlen); in __skb_flow_dissect() [all …]
|
| /net/sched/ |
| A D | act_ct.c | 516 unsigned int thoff; in tcf_ct_flow_table_fill_tuple_ipv4() local 525 thoff = iph->ihl * 4; in tcf_ct_flow_table_fill_tuple_ipv4() 528 unlikely(thoff != sizeof(struct iphdr))) in tcf_ct_flow_table_fill_tuple_ipv4() 551 if (!pskb_network_may_pull(skb, thoff + hdrsize)) in tcf_ct_flow_table_fill_tuple_ipv4() 556 *tcph = (void *)(skb_network_header(skb) + thoff); in tcf_ct_flow_table_fill_tuple_ipv4() 559 ports = (struct flow_ports *)(skb_network_header(skb) + thoff); in tcf_ct_flow_table_fill_tuple_ipv4() 590 unsigned int thoff; in tcf_ct_flow_table_fill_tuple_ipv6() local 598 thoff = sizeof(*ip6h); in tcf_ct_flow_table_fill_tuple_ipv6() 620 if (!pskb_network_may_pull(skb, thoff + hdrsize)) in tcf_ct_flow_table_fill_tuple_ipv6() 625 *tcph = (void *)(skb_network_header(skb) + thoff); in tcf_ct_flow_table_fill_tuple_ipv6() [all …]
|
| A D | em_ipset.c | 67 acpar.thoff = ip_hdrlen(skb); in em_ipset_match() 74 acpar.thoff = sizeof(struct ipv6hdr); in em_ipset_match()
|
| /net/ipv6/ |
| A D | tcpv6_offload.c | 73 INDIRECT_CALLABLE_SCOPE int tcp6_gro_complete(struct sk_buff *skb, int thoff) in tcp6_gro_complete() argument 88 th->check = ~tcp_v6_check(skb->len - thoff, &iph->saddr, in tcp6_gro_complete()
|