/linux-6.12.1/net/ipv6/ |
D | Kconfig | 3 # IPv6 configuration 6 # IPv6 as module will cause a CRASH if you try to unload it 7 menuconfig IPV6 config 8 tristate "The IPv6 protocol" 12 Support for IP version 6 (IPv6). 14 For general information about IPv6, see 15 <https://en.wikipedia.org/wiki/IPv6>. 16 For specific information about IPv6 under Linux, see 17 Documentation/networking/ipv6.rst and read the HOWTO at 18 <https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/> [all …]
|
D | sysctl_net_ipv6.c | 3 * sysctl_net_ipv6.c: sysctl interface to net IPV6 subsystem. 12 #include <linux/ipv6.h> 16 #include <net/ipv6.h> 40 ipv6.sysctl.multipath_hash_policy); in proc_rt6_multipath_hash_policy() 56 ipv6.sysctl.multipath_hash_fields); in proc_rt6_multipath_hash_fields() 67 .data = &init_net.ipv6.sysctl.bindv6only, 74 .data = &init_net.ipv6.sysctl.anycast_src_echo_reply, 81 .data = &init_net.ipv6.sysctl.flowlabel_consistency, 88 .data = &init_net.ipv6.sysctl.auto_flowlabels, 96 .data = &init_net.ipv6.sysctl.fwmark_reflect, [all …]
|
D | Makefile | 6 obj-$(CONFIG_IPV6) += ipv6.o 8 ipv6-y := af_inet6.o anycast.o ip6_output.o ip6_input.o addrconf.o \ 15 ipv6-$(CONFIG_SYSCTL) += sysctl_net_ipv6.o 16 ipv6-$(CONFIG_IPV6_MROUTE) += ip6mr.o 18 ipv6-$(CONFIG_XFRM) += xfrm6_policy.o xfrm6_state.o xfrm6_input.o \ 20 ipv6-$(CONFIG_NETFILTER) += netfilter.o 21 ipv6-$(CONFIG_IPV6_MULTIPLE_TABLES) += fib6_rules.o 22 ipv6-$(CONFIG_PROC_FS) += proc.o 23 ipv6-$(CONFIG_SYN_COOKIES) += syncookies.o 24 ipv6-$(CONFIG_NETLABEL) += calipso.o [all …]
|
D | fib6_rules.c | 3 * net/ipv6/fib6_rules.c IPv6 Routing Policy Rules 20 #include <net/ipv6.h> 70 if (net->ipv6.fib6_has_custom_rules) { in fib6_lookup() 80 err = fib_rules_lookup(net->ipv6.fib6_rules_ops, in fib6_lookup() 83 err = fib6_table_lookup(net, net->ipv6.fib6_local_tbl, oif, in fib6_lookup() 85 if (err || res->f6i == net->ipv6.fib6_null_entry) in fib6_lookup() 86 err = fib6_table_lookup(net, net->ipv6.fib6_main_tbl, in fib6_lookup() 97 if (net->ipv6.fib6_has_custom_rules) { in fib6_rule_lookup() 109 fib_rules_lookup(net->ipv6.fib6_rules_ops, in fib6_rule_lookup() 118 net, net->ipv6.fib6_local_tbl, fl6, skb, flags); in fib6_rule_lookup() [all …]
|
D | ip6_fib.c | 16 #define pr_fmt(fmt) "IPv6: " fmt 30 #include <net/ipv6.h> 76 list_for_each_entry(w, &(net)->ipv6.fib6_walkers, lh) 80 write_lock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_link() 81 list_add(&w->lh, &net->ipv6.fib6_walkers); in fib6_walker_link() 82 write_unlock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_link() 87 write_lock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_unlink() 89 write_unlock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_unlink() 94 int new, old = atomic_read(&net->ipv6.fib6_sernum); in fib6_new_sernum() 98 } while (!atomic_try_cmpxchg(&net->ipv6.fib6_sernum, &old, new)); in fib6_new_sernum() [all …]
|
/linux-6.12.1/Documentation/networking/ |
D | ipv6.rst | 4 IPv6 title 8 Options for the ipv6 module are supplied as parameters at load time. 15 The available ipv6 module parameters are listed below. If a parameter 22 Specifies whether to load the IPv6 module, but disable all 24 has a dependency on the IPv6 module being loaded, but no 25 IPv6 addresses or operations are desired. 30 IPv6 is enabled. 35 IPv6 is disabled. 37 No IPv6 addresses will be added to interfaces, and 38 it will not be possible to open an IPv6 socket. [all …]
|
/linux-6.12.1/net/6lowpan/ |
D | Kconfig | 4 depends on IPV6 6 This enables IPv6 over Low power Wireless Personal Area Network - 31 6LoWPAN IPv6 Destination Options Header compression according to 38 6LoWPAN IPv6 Fragment Header compression according to RFC6282. 44 6LoWPAN IPv6 Hop-by-Hop Options Header compression according to 48 tristate "IPv6 Header Support" 51 6LoWPAN IPv6 Header compression according to RFC6282. 57 6LoWPAN IPv6 Mobility Header compression according to RFC6282. 63 6LoWPAN IPv6 Routing Header compression according to RFC6282. 69 6LoWPAN IPv6 UDP Header compression according to RFC6282. [all …]
|
/linux-6.12.1/tools/testing/selftests/net/ |
D | bareudp.sh | 8 # configurations of bareudp (using IPv4 or IPv6 as underlay and transporting 9 # IPv4, IPv6 or MPLS packets on the overlay). 14 # is assigned an IPv4 and an IPv6 address. A host-route allows a veth to 18 # IPv4 and IPv6 addresses on their loopback device. Routes are added in NS0 20 # For IPv4 and IPv6 reachability tests, the route simply sets the peer's 32 # | * IPv6 address: 2001:db8::100/128 | 33 # | * IPv6 address: 2001:db8::200/128 | 35 # | * IPv6 route: 2001:db8::103/128 reachable via 2001:db8::11 | 36 # | * IPv6 route: 2001:db8::203/128 reachable via 2001:db8::11 | 41 # | | * IPv6 address: 2001:db8::10, peer 2001:db8::11/128 | [all …]
|
D | srv6_hencap_red_l3vpn_test.sh | 8 # Below is depicted the IPv6 network of an operator which offers advanced 9 # IPv4/IPv6 VPN services to hosts, enabling them to communicate with each 11 # In this example, hosts hs-1 and hs-2 are connected through an IPv4/IPv6 VPN 12 # service, while hs-3 and hs-4 are connected using an IPv6 only VPN. 14 # Routers rt-1,rt-2,rt-3 and rt-4 implement IPv4/IPv6 L3 VPN services 22 # into the IPv6 Destination Address. When a SRv6 Policy is made of only one 24 # SID directly into the IPv6 DA; 31 # handling, at the same time, both tunneled IPv4 and IPv6 traffic. 74 # in the IPv6 operator network. 90 # services. Reachability of SIDs is ensured by proper configuration of the IPv6 [all …]
|
/linux-6.12.1/tools/testing/selftests/bpf/progs/ |
D | connect6_prog.c | 35 memset(&tuple.ipv6.saddr, 0, sizeof(tuple.ipv6.saddr)); in connect_v6_prog() 36 memset(&tuple.ipv6.sport, 0, sizeof(tuple.ipv6.sport)); in connect_v6_prog() 38 tuple.ipv6.daddr[0] = bpf_htonl(DST_REWRITE_IP6_0); in connect_v6_prog() 39 tuple.ipv6.daddr[1] = bpf_htonl(DST_REWRITE_IP6_1); in connect_v6_prog() 40 tuple.ipv6.daddr[2] = bpf_htonl(DST_REWRITE_IP6_2); in connect_v6_prog() 41 tuple.ipv6.daddr[3] = bpf_htonl(DST_REWRITE_IP6_3); in connect_v6_prog() 43 tuple.ipv6.dport = bpf_htons(DST_REWRITE_PORT6); in connect_v6_prog() 48 sk = bpf_sk_lookup_tcp(ctx, &tuple, sizeof(tuple.ipv6), in connect_v6_prog() 51 sk = bpf_sk_lookup_udp(ctx, &tuple, sizeof(tuple.ipv6), in connect_v6_prog() 57 if (sk->src_ip6[0] != tuple.ipv6.daddr[0] || in connect_v6_prog() [all …]
|
D | test_tcp_custom_syncookie.c | 62 struct ipv6hdr *ipv6; member 101 ctx->ipv6 = (struct ipv6hdr *)(ctx->eth + 1); in tcp_load_headers() 103 if (ctx->ipv6 + 1 > ctx->data_end) in tcp_load_headers() 106 if (ctx->ipv6->version != 6) in tcp_load_headers() 109 if (ctx->ipv6->nexthdr != NEXTHDR_TCP) in tcp_load_headers() 112 ctx->tcp = (struct tcphdr *)(ctx->ipv6 + 1); in tcp_load_headers() 145 ctx->ipv6 = NULL; in tcp_reload_headers() 149 ctx->ipv6 = (struct ipv6hdr *)(ctx->eth + 1); in tcp_reload_headers() 150 ctx->tcp = (struct tcphdr *)(ctx->ipv6 + 1); in tcp_reload_headers() 169 return csum_ipv6_magic(&ctx->ipv6->saddr, &ctx->ipv6->daddr, in tcp_v6_csum() [all …]
|
D | xdp_synproxy_kern.c | 312 __u8 *ttl, bool ipv6) in values_get_tcpipopts() argument 319 if (ipv6) in values_get_tcpipopts() 328 *mss = ipv6 ? DEFAULT_MSS6 : DEFAULT_MSS4; in values_get_tcpipopts() 371 struct ipv6hdr *ipv6; member 385 hdr->ipv6 = NULL; in tcp_dissect() 403 hdr->ipv6 = (void *)hdr->eth + sizeof(*hdr->eth); in tcp_dissect() 404 if (hdr->ipv6 + 1 > data_end) in tcp_dissect() 406 if (hdr->ipv6->version != 6) in tcp_dissect() 412 if (hdr->ipv6->nexthdr != NEXTHDR_TCP) in tcp_dissect() 415 hdr->tcp = (void *)hdr->ipv6 + sizeof(*hdr->ipv6); in tcp_dissect() [all …]
|
D | test_cls_redirect_dynptr.c | 15 #include <linux/ipv6.h> 93 offsetofend(struct bpf_sock_tuple, ipv6.dport) - 94 offsetof(struct bpf_sock_tuple, ipv6.sport) - 1, 188 const struct ipv6hdr *ipv6, uint8_t *upper_proto, in pkt_skip_ipv6_extension_headers() argument 200 .next = ipv6->nexthdr, in pkt_skip_ipv6_extension_headers() 244 static int pkt_parse_ipv6(struct bpf_dynptr *dynptr, __u64 *offset, struct ipv6hdr *ipv6, in pkt_parse_ipv6() argument 247 if (bpf_dynptr_read(ipv6, sizeof(*ipv6), dynptr, *offset, 0)) in pkt_parse_ipv6() 250 *offset += sizeof(*ipv6); in pkt_parse_ipv6() 252 if (!pkt_skip_ipv6_extension_headers(dynptr, offset, ipv6, proto, is_fragment)) in pkt_parse_ipv6() 280 /* Changing the ethertype if the encapsulated packet is ipv6 */ in accept_locally() [all …]
|
D | test_cls_redirect.c | 15 #include <linux/ipv6.h> 99 offsetofend(struct bpf_sock_tuple, ipv6.dport) - 100 offsetof(struct bpf_sock_tuple, ipv6.sport) - 1, 283 const struct ipv6hdr *ipv6, in pkt_skip_ipv6_extension_headers() argument 296 .next = ipv6->nexthdr, in pkt_skip_ipv6_extension_headers() 354 struct ipv6hdr *ipv6 = buf_assign(pkt, sizeof(*ipv6), scratch); in pkt_parse_ipv6() local 355 if (ipv6 == NULL) { in pkt_parse_ipv6() 359 if (!pkt_skip_ipv6_extension_headers(pkt, ipv6, proto, is_fragment)) { in pkt_parse_ipv6() 363 return ipv6; in pkt_parse_ipv6() 388 // Changing the ethertype if the encapsulated packet is ipv6 in accept_locally() [all …]
|
/linux-6.12.1/net/ipv6/netfilter/ |
D | Kconfig | 6 menu "IPv6: Netfilter Configuration" 7 depends on INET && IPV6 && NETFILTER 14 tristate "IPv6 socket lookup support" 16 This option enables the IPv6 socket lookup infrastructure. This 20 tristate "IPv6 tproxy support" 25 bool "IPv6 nf_tables support" 27 This option enables the IPv6 support for nf_tables. 37 tristate "IPv6 nf_tables packet duplication support" 41 This module enables IPv6 packet duplication support for nf_tables. 44 tristate "nf_tables fib / ipv6 route lookup support" [all …]
|
/linux-6.12.1/include/uapi/linux/ |
D | in6.h | 10 * IPv6 Program Interfaces for BSD Systems 13 * Advanced Sockets API for IPv6 29 * IPv6 address structure 53 __be32 sin6_flowinfo; /* IPv6 flow information */ 54 struct in6_addr sin6_addr; /* IPv6 address */ 61 /* IPv6 multicast address of group */ 64 /* local IPv6 address of interface */ 129 * IPV6 extension headers 132 #define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */ 133 #define IPPROTO_ROUTING 43 /* IPv6 routing header */ [all …]
|
/linux-6.12.1/tools/testing/selftests/net/forwarding/ |
D | ip6gre_flat.sh | 39 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6" 40 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6" 52 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (new remote)" 53 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (new remote)" 57 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 (old remote)" 58 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 (old remote)"
|
D | ip6gre_hier.sh | 39 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6" 40 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6" 52 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 (new remote)" 53 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 (new remote)" 57 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 (old remote)" 58 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 (old remote)"
|
D | ip6gre_flat_key.sh | 39 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with key" 40 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with key" 52 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with key (new remote)" 53 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with key (new remote)" 57 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with key (old remote)" 58 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with key (old remote)"
|
D | ip6gre_hier_key.sh | 39 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with key" 40 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with key" 52 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with key (new remote)" 53 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with key (new remote)" 57 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with key (old remote)" 58 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with key (old remote)"
|
D | ip6gre_flat_keys.sh | 39 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey" 40 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey" 52 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey (new remote)" 53 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey (new remote)" 57 test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey (old remote)" 58 test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey (old remote)"
|
D | ip6gre_hier_keys.sh | 39 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with ikey/okey" 40 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with ikey/okey" 52 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with ikey/okey (new remote)" 53 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with ikey/okey (new remote)" 57 test_traffic_ip4ip6 "GRE hierarchical IPv4-in-IPv6 with ikey/okey (old remote)" 58 test_traffic_ip6ip6 "GRE hierarchical IPv6-in-IPv6 with ikey/okey (old remote)"
|
/linux-6.12.1/drivers/net/ethernet/mediatek/ |
D | mtk_ppe_debugfs.c | 7 #include <net/ipv6.h> 15 bool ipv6; member 39 [MTK_PPE_PKT_TYPE_IPV6_ROUTE_3T] = "IPv6 3T", in mtk_foe_pkt_type_str() 40 [MTK_PPE_PKT_TYPE_IPV6_ROUTE_5T] = "IPv6 5T", in mtk_foe_pkt_type_str() 51 mtk_print_addr(struct seq_file *m, u32 *addr, bool ipv6) in mtk_print_addr() argument 55 if (!ipv6) { in mtk_print_addr() 67 mtk_print_addr(m, ai->src, ai->ipv6); in mtk_print_addr_info() 71 mtk_print_addr(m, ai->dest, ai->ipv6); in mtk_print_addr_info() 118 ai.src_port = &entry->ipv6.src_port; in mtk_ppe_debugfs_foe_show() 119 ai.dest_port = &entry->ipv6.dest_port; in mtk_ppe_debugfs_foe_show() [all …]
|
/linux-6.12.1/net/netfilter/ipset/ |
D | Kconfig | 60 can store arbitrary IPv4 or IPv6 addresses (or network addresses) 70 can store IPv4/IPv6 address and mark pairs. 79 can store IPv4/IPv6 address and protocol/port pairs. 88 one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6 98 one can store IPv4/IPv6 address, protocol/port, and IPv4/IPv6 108 one can store IPv4/IPv6 address and MAC (ethernet address) pairs in a set. 126 one can store two IPv4/IPv6 subnets, and a protocol/port in a set. 135 one can store IPv4/IPv6 network address/prefix elements in a set. 144 one can store IPv4/IPv6 network address/prefix pairs in a set. 153 one can store IPv4/IPv6 network address/prefix and [all …]
|
/linux-6.12.1/net/netlabel/ |
D | netlabel_addrlist.c | 24 #include <linux/ipv6.h> 26 #include <net/ipv6.h> 86 * netlbl_af6list_search - Search for a matching IPv6 address entry 87 * @addr: IPv6 address 91 * Searches the IPv6 address list given by @head. If a matching address entry 110 * netlbl_af6list_search_exact - Search for an exact IPv6 address entry 111 * @addr: IPv6 address 112 * @mask: IPv6 address mask 116 * Searches the IPv6 address list given by @head. If an exact match if found 135 #endif /* IPv6 */ [all …]
|