/kernel/linux/linux-5.10/samples/bpf/ |
H A D | xdp_tx_iptunnel_kern.c | 159 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local 164 if (ip6h + 1 > data_end) in handle_ipv6() 167 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6() 171 vip.protocol = ip6h->nexthdr; in handle_ipv6() 173 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6() 175 payload_len = ip6h->payload_len; in handle_ipv6() 191 ip6h = data + sizeof(*new_eth); in handle_ipv6() 192 old_eth = data + sizeof(*ip6h); in handle_ipv6() 196 ip6h in handle_ipv6() [all...] |
H A D | xdp_fwd_kern.c | 49 struct ipv6hdr *ip6h; in xdp_fwd_flags() local 83 ip6h = data + nh_off; in xdp_fwd_flags() 84 if (ip6h + 1 > data_end) in xdp_fwd_flags() 87 if (ip6h->hop_limit <= 1) in xdp_fwd_flags() 91 fib_params.flowinfo = *(__be32 *)ip6h & IPV6_FLOWINFO_MASK; in xdp_fwd_flags() 92 fib_params.l4_protocol = ip6h->nexthdr; in xdp_fwd_flags() 95 fib_params.tot_len = ntohs(ip6h->payload_len); in xdp_fwd_flags() 96 *src = ip6h->saddr; in xdp_fwd_flags() 97 *dst = ip6h->daddr; in xdp_fwd_flags() 136 ip6h in xdp_fwd_flags() [all...] |
H A D | tc_l2_redirect_kern.c | 91 struct ipv6hdr *ip6h = data + sizeof(*eth); in _l2_to_iptun_ingress_forward() local 93 if (data + sizeof(*eth) + sizeof(*ip6h) > data_end) in _l2_to_iptun_ingress_forward() 96 if (ip6h->nexthdr != IPPROTO_IPIP && in _l2_to_iptun_ingress_forward() 97 ip6h->nexthdr != IPPROTO_IPV6) in _l2_to_iptun_ingress_forward() 101 _htonl(ip6h->daddr.s6_addr32[0]), in _l2_to_iptun_ingress_forward() 102 _htonl(ip6h->daddr.s6_addr32[3])); in _l2_to_iptun_ingress_forward() 180 struct ipv6hdr *ip6h = data + sizeof(*eth); in _l2_to_ip6tun_ingress_redirect() local 182 if (data + sizeof(*eth) + sizeof(*ip6h) > data_end) in _l2_to_ip6tun_ingress_redirect() 185 if (!is_vip_addr(eth->h_proto, ip6h->daddr.s6_addr32[0])) in _l2_to_ip6tun_ingress_redirect() 189 _htonl(ip6h in _l2_to_ip6tun_ingress_redirect() 225 struct ipv6hdr *ip6h = data + sizeof(*eth); _drop_non_tun_vip() local [all...] |
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | xdp_tx_iptunnel_kern.c | 159 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local 164 if (ip6h + 1 > data_end) in handle_ipv6() 167 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6() 171 vip.protocol = ip6h->nexthdr; in handle_ipv6() 173 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6() 175 payload_len = ip6h->payload_len; in handle_ipv6() 191 ip6h = data + sizeof(*new_eth); in handle_ipv6() 192 old_eth = data + sizeof(*ip6h); in handle_ipv6() 196 ip6h in handle_ipv6() [all...] |
H A D | xdp_fwd_kern.c | 49 struct ipv6hdr *ip6h; in xdp_fwd_flags() local 83 ip6h = data + nh_off; in xdp_fwd_flags() 84 if (ip6h + 1 > data_end) in xdp_fwd_flags() 87 if (ip6h->hop_limit <= 1) in xdp_fwd_flags() 91 fib_params.flowinfo = *(__be32 *)ip6h & IPV6_FLOWINFO_MASK; in xdp_fwd_flags() 92 fib_params.l4_protocol = ip6h->nexthdr; in xdp_fwd_flags() 95 fib_params.tot_len = ntohs(ip6h->payload_len); in xdp_fwd_flags() 96 *src = ip6h->saddr; in xdp_fwd_flags() 97 *dst = ip6h->daddr; in xdp_fwd_flags() 136 ip6h in xdp_fwd_flags() [all...] |
H A D | tc_l2_redirect_kern.c | 91 struct ipv6hdr *ip6h = data + sizeof(*eth); in _l2_to_iptun_ingress_forward() local 93 if (data + sizeof(*eth) + sizeof(*ip6h) > data_end) in _l2_to_iptun_ingress_forward() 96 if (ip6h->nexthdr != IPPROTO_IPIP && in _l2_to_iptun_ingress_forward() 97 ip6h->nexthdr != IPPROTO_IPV6) in _l2_to_iptun_ingress_forward() 101 _htonl(ip6h->daddr.s6_addr32[0]), in _l2_to_iptun_ingress_forward() 102 _htonl(ip6h->daddr.s6_addr32[3])); in _l2_to_iptun_ingress_forward() 180 struct ipv6hdr *ip6h = data + sizeof(*eth); in _l2_to_ip6tun_ingress_redirect() local 182 if (data + sizeof(*eth) + sizeof(*ip6h) > data_end) in _l2_to_ip6tun_ingress_redirect() 185 if (!is_vip_addr(eth->h_proto, ip6h->daddr.s6_addr32[0])) in _l2_to_ip6tun_ingress_redirect() 189 _htonl(ip6h in _l2_to_ip6tun_ingress_redirect() 225 struct ipv6hdr *ip6h = data + sizeof(*eth); _drop_non_tun_vip() local [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A D | test_btf_skc_cls_ingress.c | 27 static void test_syncookie_helper(struct ipv6hdr *ip6h, struct tcphdr *th, in test_syncookie_helper() argument 47 mss_cookie = bpf_tcp_gen_syncookie(tp, ip6h, sizeof(*ip6h), in test_syncookie_helper() 57 int ret = bpf_tcp_check_syncookie(tp, ip6h, sizeof(*ip6h), in test_syncookie_helper() 69 static int handle_ip6_tcp(struct ipv6hdr *ip6h, struct __sk_buff *skb) in handle_ip6_tcp() argument 79 th = (struct tcphdr *)(ip6h + 1); in handle_ip6_tcp() 88 tuple = (struct bpf_sock_tuple *)&ip6h->saddr; in handle_ip6_tcp() 135 test_syncookie_helper(ip6h, th, tp, skb); in handle_ip6_tcp() 151 struct ipv6hdr *ip6h; in cls_ingress() local [all...] |
H A D | test_xdp.c | 160 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local 165 if (ip6h + 1 > data_end) in handle_ipv6() 168 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6() 172 vip.protocol = ip6h->nexthdr; in handle_ipv6() 174 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6() 176 payload_len = ip6h->payload_len; in handle_ipv6() 190 ip6h = data + sizeof(*new_eth); in handle_ipv6() 191 old_eth = data + sizeof(*ip6h); in handle_ipv6() 194 ip6h in handle_ipv6() [all...] |
H A D | test_xdp_loop.c | 156 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local 161 if (ip6h + 1 > data_end) in handle_ipv6() 164 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6() 168 vip.protocol = ip6h->nexthdr; in handle_ipv6() 170 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6() 172 payload_len = ip6h->payload_len; in handle_ipv6() 186 ip6h = data + sizeof(*new_eth); in handle_ipv6() 187 old_eth = data + sizeof(*ip6h); in handle_ipv6() 190 ip6h in handle_ipv6() [all...] |
H A D | cgroup_skb_sk_lookup_kern.c | 31 const struct ipv6hdr *ip6h, in set_tuple() 34 set_ip(tuple->ipv6.saddr, &ip6h->daddr); in set_tuple() 35 set_ip(tuple->ipv6.daddr, &ip6h->saddr); in set_tuple() 41 const struct ipv6hdr *ip6h, in is_allowed_peer_cg() 49 set_tuple(&tuple, ip6h, tcph); in is_allowed_peer_cg() 71 struct ipv6hdr ip6h; in ingress_lookup() local 81 if (bpf_skb_load_bytes(skb, 0, &ip6h, sizeof(ip6h))) in ingress_lookup() 84 if (ip6h.nexthdr != IPPROTO_TCP) in ingress_lookup() 87 if (bpf_skb_load_bytes(skb, sizeof(ip6h), in ingress_lookup() 30 set_tuple(struct bpf_sock_tuple *tuple, const struct ipv6hdr *ip6h, const struct tcphdr *tcph) set_tuple() argument 40 is_allowed_peer_cg(struct __sk_buff *skb, const struct ipv6hdr *ip6h, const struct tcphdr *tcph) is_allowed_peer_cg() argument [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | test_btf_skc_cls_ingress.c | 27 static void test_syncookie_helper(struct ipv6hdr *ip6h, struct tcphdr *th, in test_syncookie_helper() argument 47 mss_cookie = bpf_tcp_gen_syncookie(tp, ip6h, sizeof(*ip6h), in test_syncookie_helper() 57 int ret = bpf_tcp_check_syncookie(tp, ip6h, sizeof(*ip6h), in test_syncookie_helper() 69 static int handle_ip6_tcp(struct ipv6hdr *ip6h, struct __sk_buff *skb) in handle_ip6_tcp() argument 79 th = (struct tcphdr *)(ip6h + 1); in handle_ip6_tcp() 88 tuple = (struct bpf_sock_tuple *)&ip6h->saddr; in handle_ip6_tcp() 135 test_syncookie_helper(ip6h, th, tp, skb); in handle_ip6_tcp() 151 struct ipv6hdr *ip6h; in cls_ingress() local [all...] |
H A D | test_xdp.c | 158 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local 163 if (ip6h + 1 > data_end) in handle_ipv6() 166 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6() 170 vip.protocol = ip6h->nexthdr; in handle_ipv6() 172 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6() 174 payload_len = ip6h->payload_len; in handle_ipv6() 188 ip6h = data + sizeof(*new_eth); in handle_ipv6() 189 old_eth = data + sizeof(*ip6h); in handle_ipv6() 192 ip6h in handle_ipv6() [all...] |
H A D | test_xdp_dynptr.c | 168 struct ipv6hdr *ip6h; in handle_ipv6() local 178 ip6h = bpf_dynptr_slice(xdp_ptr, ethhdr_sz, ip6h_buffer_udp, sizeof(ip6h_buffer_udp)); in handle_ipv6() 180 ip6h = bpf_dynptr_slice(xdp_ptr, ethhdr_sz, ip6h_buffer_tcp, sizeof(ip6h_buffer_tcp)); in handle_ipv6() 182 if (!ip6h) in handle_ipv6() 185 dport = get_dport(ip6h + 1, ip6h->nexthdr); in handle_ipv6() 189 vip.protocol = ip6h->nexthdr; in handle_ipv6() 191 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6() 193 payload_len = ip6h->payload_len; in handle_ipv6() 208 ip6h in handle_ipv6() [all...] |
H A D | test_xdp_loop.c | 154 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local 159 if (ip6h + 1 > data_end) in handle_ipv6() 162 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6() 166 vip.protocol = ip6h->nexthdr; in handle_ipv6() 168 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6() 170 payload_len = ip6h->payload_len; in handle_ipv6() 184 ip6h = data + sizeof(*new_eth); in handle_ipv6() 185 old_eth = data + sizeof(*ip6h); in handle_ipv6() 188 ip6h in handle_ipv6() [all...] |
H A D | cgroup_skb_sk_lookup_kern.c | 30 const struct ipv6hdr *ip6h, in set_tuple() 33 set_ip(tuple->ipv6.saddr, &ip6h->daddr); in set_tuple() 34 set_ip(tuple->ipv6.daddr, &ip6h->saddr); in set_tuple() 40 const struct ipv6hdr *ip6h, in is_allowed_peer_cg() 48 set_tuple(&tuple, ip6h, tcph); in is_allowed_peer_cg() 69 struct ipv6hdr ip6h; in ingress_lookup() local 79 if (bpf_skb_load_bytes(skb, 0, &ip6h, sizeof(ip6h))) in ingress_lookup() 82 if (ip6h.nexthdr != IPPROTO_TCP) in ingress_lookup() 85 if (bpf_skb_load_bytes(skb, sizeof(ip6h), in ingress_lookup() 29 set_tuple(struct bpf_sock_tuple *tuple, const struct ipv6hdr *ip6h, const struct tcphdr *tcph) set_tuple() argument 39 is_allowed_peer_cg(struct __sk_buff *skb, const struct ipv6hdr *ip6h, const struct tcphdr *tcph) is_allowed_peer_cg() argument [all...] |
/kernel/linux/linux-5.10/include/net/netfilter/ |
H A D | nf_queue.h | 60 static inline u32 hash_v6(const struct ipv6hdr *ip6h, u32 initval) in hash_v6() argument 64 if ((__force u32)ip6h->saddr.s6_addr32[3] < in hash_v6() 65 (__force u32)ip6h->daddr.s6_addr32[3]) { in hash_v6() 66 a = (__force u32) ip6h->saddr.s6_addr32[3]; in hash_v6() 67 b = (__force u32) ip6h->daddr.s6_addr32[3]; in hash_v6() 69 b = (__force u32) ip6h->saddr.s6_addr32[3]; in hash_v6() 70 a = (__force u32) ip6h->daddr.s6_addr32[3]; in hash_v6() 73 if ((__force u32)ip6h->saddr.s6_addr32[1] < in hash_v6() 74 (__force u32)ip6h->daddr.s6_addr32[1]) in hash_v6() 75 c = (__force u32) ip6h in hash_v6() 84 struct ipv6hdr *ip6h, _ip6h; hash_bridge() local [all...] |
H A D | nf_tables_ipv6.h | 33 struct ipv6hdr *ip6h, _ip6h; in __nft_set_pktinfo_ipv6_validate() local 39 ip6h = skb_header_pointer(skb, skb_network_offset(skb), sizeof(*ip6h), in __nft_set_pktinfo_ipv6_validate() 41 if (!ip6h) in __nft_set_pktinfo_ipv6_validate() 44 if (ip6h->version != 6) in __nft_set_pktinfo_ipv6_validate() 47 pkt_len = ntohs(ip6h->payload_len); in __nft_set_pktinfo_ipv6_validate() 48 if (pkt_len + sizeof(*ip6h) > skb->len) in __nft_set_pktinfo_ipv6_validate() 81 struct ipv6hdr *ip6h; in nft_set_pktinfo_ipv6_ingress() local 85 if (!pskb_may_pull(skb, sizeof(*ip6h))) in nft_set_pktinfo_ipv6_ingress() 88 ip6h in nft_set_pktinfo_ipv6_ingress() [all...] |
/kernel/linux/linux-6.6/include/net/netfilter/ |
H A D | nf_queue.h | 60 static inline u32 hash_v6(const struct ipv6hdr *ip6h, u32 initval) in hash_v6() argument 64 if ((__force u32)ip6h->saddr.s6_addr32[3] < in hash_v6() 65 (__force u32)ip6h->daddr.s6_addr32[3]) { in hash_v6() 66 a = (__force u32) ip6h->saddr.s6_addr32[3]; in hash_v6() 67 b = (__force u32) ip6h->daddr.s6_addr32[3]; in hash_v6() 69 b = (__force u32) ip6h->saddr.s6_addr32[3]; in hash_v6() 70 a = (__force u32) ip6h->daddr.s6_addr32[3]; in hash_v6() 73 if ((__force u32)ip6h->saddr.s6_addr32[1] < in hash_v6() 74 (__force u32)ip6h->daddr.s6_addr32[1]) in hash_v6() 75 c = (__force u32) ip6h in hash_v6() 84 struct ipv6hdr *ip6h, _ip6h; hash_bridge() local [all...] |
H A D | nf_tables_ipv6.h | 31 struct ipv6hdr *ip6h, _ip6h; in __nft_set_pktinfo_ipv6_validate() local 37 ip6h = skb_header_pointer(pkt->skb, skb_network_offset(pkt->skb), in __nft_set_pktinfo_ipv6_validate() 38 sizeof(*ip6h), &_ip6h); in __nft_set_pktinfo_ipv6_validate() 39 if (!ip6h) in __nft_set_pktinfo_ipv6_validate() 42 if (ip6h->version != 6) in __nft_set_pktinfo_ipv6_validate() 45 pkt_len = ntohs(ip6h->payload_len); in __nft_set_pktinfo_ipv6_validate() 46 if (pkt_len + sizeof(*ip6h) > pkt->skb->len) in __nft_set_pktinfo_ipv6_validate() 77 struct ipv6hdr *ip6h; in nft_set_pktinfo_ipv6_ingress() local 81 if (!pskb_may_pull(pkt->skb, sizeof(*ip6h))) in nft_set_pktinfo_ipv6_ingress() 84 ip6h in nft_set_pktinfo_ipv6_ingress() [all...] |
/kernel/linux/linux-5.10/net/netfilter/ |
H A D | nf_flow_table_ip.c | 350 static int nf_flow_nat_ipv6_l4proto(struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_nat_ipv6_l4proto() argument 354 switch (ip6h->nexthdr) { in nf_flow_nat_ipv6_l4proto() 369 struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_snat_ipv6() 377 addr = ip6h->saddr; in nf_flow_snat_ipv6() 379 ip6h->saddr = new_addr; in nf_flow_snat_ipv6() 382 addr = ip6h->daddr; in nf_flow_snat_ipv6() 384 ip6h->daddr = new_addr; in nf_flow_snat_ipv6() 390 return nf_flow_nat_ipv6_l4proto(skb, ip6h, thoff, &addr, &new_addr); in nf_flow_snat_ipv6() 394 struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_dnat_ipv6() 402 addr = ip6h in nf_flow_dnat_ipv6() 368 nf_flow_snat_ipv6(const struct flow_offload *flow, struct sk_buff *skb, struct ipv6hdr *ip6h, unsigned int thoff, enum flow_offload_tuple_dir dir) nf_flow_snat_ipv6() argument 393 nf_flow_dnat_ipv6(const struct flow_offload *flow, struct sk_buff *skb, struct ipv6hdr *ip6h, unsigned int thoff, enum flow_offload_tuple_dir dir) nf_flow_dnat_ipv6() argument 422 struct ipv6hdr *ip6h = ipv6_hdr(skb); nf_flow_nat_ipv6() local 444 struct ipv6hdr *ip6h; nf_flow_tuple_ipv6() local 494 struct ipv6hdr *ip6h; nf_flow_offload_ipv6_hook() local [all...] |
/kernel/linux/linux-5.10/net/ipv6/ |
H A D | mcast_snoop.c | 16 const struct ipv6hdr *ip6h; in ipv6_mc_check_ip6hdr() local 18 unsigned int offset = skb_network_offset(skb) + sizeof(*ip6h); in ipv6_mc_check_ip6hdr() 23 ip6h = ipv6_hdr(skb); in ipv6_mc_check_ip6hdr() 25 if (ip6h->version != 6) in ipv6_mc_check_ip6hdr() 28 len = offset + ntohs(ip6h->payload_len); in ipv6_mc_check_ip6hdr() 39 const struct ipv6hdr *ip6h; in ipv6_mc_check_exthdrs() local 44 ip6h = ipv6_hdr(skb); in ipv6_mc_check_exthdrs() 46 if (ip6h->nexthdr != IPPROTO_HOPOPTS) in ipv6_mc_check_exthdrs() 49 nexthdr = ip6h->nexthdr; in ipv6_mc_check_exthdrs() 50 offset = skb_network_offset(skb) + sizeof(*ip6h); in ipv6_mc_check_exthdrs() [all...] |
H A D | ip6_udp_tunnel.c | 84 struct ipv6hdr *ip6h; in udp_tunnel6_xmit_skb() local 99 __skb_push(skb, sizeof(*ip6h)); in udp_tunnel6_xmit_skb() 101 ip6h = ipv6_hdr(skb); in udp_tunnel6_xmit_skb() 102 ip6_flow_hdr(ip6h, prio, label); in udp_tunnel6_xmit_skb() 103 ip6h->payload_len = htons(skb->len); in udp_tunnel6_xmit_skb() 104 ip6h->nexthdr = IPPROTO_UDP; in udp_tunnel6_xmit_skb() 105 ip6h->hop_limit = ttl; in udp_tunnel6_xmit_skb() 106 ip6h->daddr = *daddr; in udp_tunnel6_xmit_skb() 107 ip6h->saddr = *saddr; in udp_tunnel6_xmit_skb()
|
/kernel/linux/linux-6.6/net/ipv6/ |
H A D | mcast_snoop.c | 16 const struct ipv6hdr *ip6h; in ipv6_mc_check_ip6hdr() local 18 unsigned int offset = skb_network_offset(skb) + sizeof(*ip6h); in ipv6_mc_check_ip6hdr() 23 ip6h = ipv6_hdr(skb); in ipv6_mc_check_ip6hdr() 25 if (ip6h->version != 6) in ipv6_mc_check_ip6hdr() 28 len = offset + ntohs(ip6h->payload_len); in ipv6_mc_check_ip6hdr() 39 const struct ipv6hdr *ip6h; in ipv6_mc_check_exthdrs() local 44 ip6h = ipv6_hdr(skb); in ipv6_mc_check_exthdrs() 46 if (ip6h->nexthdr != IPPROTO_HOPOPTS) in ipv6_mc_check_exthdrs() 49 nexthdr = ip6h->nexthdr; in ipv6_mc_check_exthdrs() 50 offset = skb_network_offset(skb) + sizeof(*ip6h); in ipv6_mc_check_exthdrs() [all...] |
H A D | ip6_udp_tunnel.c | 84 struct ipv6hdr *ip6h; in udp_tunnel6_xmit_skb() local 99 __skb_push(skb, sizeof(*ip6h)); in udp_tunnel6_xmit_skb() 101 ip6h = ipv6_hdr(skb); in udp_tunnel6_xmit_skb() 102 ip6_flow_hdr(ip6h, prio, label); in udp_tunnel6_xmit_skb() 103 ip6h->payload_len = htons(skb->len); in udp_tunnel6_xmit_skb() 104 ip6h->nexthdr = IPPROTO_UDP; in udp_tunnel6_xmit_skb() 105 ip6h->hop_limit = ttl; in udp_tunnel6_xmit_skb() 106 ip6h->daddr = *daddr; in udp_tunnel6_xmit_skb() 107 ip6h->saddr = *saddr; in udp_tunnel6_xmit_skb()
|
/kernel/linux/linux-6.6/net/netfilter/ |
H A D | nf_flow_table_ip.c | 473 struct ipv6hdr *ip6h) in nf_flow_nat_ipv6_tcp() 497 static void nf_flow_nat_ipv6_l4proto(struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_nat_ipv6_l4proto() argument 501 switch (ip6h->nexthdr) { in nf_flow_nat_ipv6_l4proto() 503 nf_flow_nat_ipv6_tcp(skb, thoff, addr, new_addr, ip6h); in nf_flow_nat_ipv6_l4proto() 512 struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_snat_ipv6() 520 addr = ip6h->saddr; in nf_flow_snat_ipv6() 522 ip6h->saddr = new_addr; in nf_flow_snat_ipv6() 525 addr = ip6h->daddr; in nf_flow_snat_ipv6() 527 ip6h->daddr = new_addr; in nf_flow_snat_ipv6() 531 nf_flow_nat_ipv6_l4proto(skb, ip6h, thof in nf_flow_snat_ipv6() 470 nf_flow_nat_ipv6_tcp(struct sk_buff *skb, unsigned int thoff, struct in6_addr *addr, struct in6_addr *new_addr, struct ipv6hdr *ip6h) nf_flow_nat_ipv6_tcp() argument 511 nf_flow_snat_ipv6(const struct flow_offload *flow, struct sk_buff *skb, struct ipv6hdr *ip6h, unsigned int thoff, enum flow_offload_tuple_dir dir) nf_flow_snat_ipv6() argument 534 nf_flow_dnat_ipv6(const struct flow_offload *flow, struct sk_buff *skb, struct ipv6hdr *ip6h, unsigned int thoff, enum flow_offload_tuple_dir dir) nf_flow_dnat_ipv6() argument 557 nf_flow_nat_ipv6(const struct flow_offload *flow, struct sk_buff *skb, enum flow_offload_tuple_dir dir, struct ipv6hdr *ip6h) nf_flow_nat_ipv6() argument 578 struct ipv6hdr *ip6h; nf_flow_tuple_ipv6() local 648 struct ipv6hdr *ip6h; nf_flow_offload_ipv6_forward() local [all...] |