/Linux-v6.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> 69 if (net->ipv6.fib6_has_custom_rules) { in fib6_lookup() 79 err = fib_rules_lookup(net->ipv6.fib6_rules_ops, in fib6_lookup() 82 err = fib6_table_lookup(net, net->ipv6.fib6_local_tbl, oif, in fib6_lookup() 84 if (err || res->f6i == net->ipv6.fib6_null_entry) in fib6_lookup() 85 err = fib6_table_lookup(net, net->ipv6.fib6_main_tbl, in fib6_lookup() 96 if (net->ipv6.fib6_has_custom_rules) { in fib6_rule_lookup() 108 fib_rules_lookup(net->ipv6.fib6_rules_ops, in fib6_rule_lookup() 117 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() 97 old = atomic_read(&net->ipv6.fib6_sernum); in fib6_new_sernum() 99 } while (atomic_cmpxchg(&net->ipv6.fib6_sernum, in fib6_new_sernum() [all …]
|
D | reassembly.c | 3 * IPv6 fragment reassembly 26 #define pr_fmt(fmt) "IPv6: " fmt 38 #include <linux/ipv6.h> 51 #include <net/ipv6.h> 99 q = inet_frag_find(net->ipv6.fqdir, &key); in fq_find() 462 table[0].data = &net->ipv6.fqdir->high_thresh; in ip6_frags_ns_sysctl_register() 463 table[0].extra1 = &net->ipv6.fqdir->low_thresh; in ip6_frags_ns_sysctl_register() 464 table[1].data = &net->ipv6.fqdir->low_thresh; in ip6_frags_ns_sysctl_register() 465 table[1].extra2 = &net->ipv6.fqdir->high_thresh; in ip6_frags_ns_sysctl_register() 466 table[2].data = &net->ipv6.fqdir->timeout; in ip6_frags_ns_sysctl_register() [all …]
|
/Linux-v6.1/drivers/net/ethernet/intel/iavf/ |
D | iavf_common.c | 589 /* IPv4 --> IPv6 */ 590 IAVF_PTT(36, IP, IPV4, NOF, IP_IP, IPV6, FRG, NONE, PAY3), 591 IAVF_PTT(37, IP, IPV4, NOF, IP_IP, IPV6, NOF, NONE, PAY3), 592 IAVF_PTT(38, IP, IPV4, NOF, IP_IP, IPV6, NOF, UDP, PAY4), 594 IAVF_PTT(40, IP, IPV4, NOF, IP_IP, IPV6, NOF, TCP, PAY4), 595 IAVF_PTT(41, IP, IPV4, NOF, IP_IP, IPV6, NOF, SCTP, PAY4), 596 IAVF_PTT(42, IP, IPV4, NOF, IP_IP, IPV6, NOF, ICMP, PAY4), 610 /* IPv4 --> GRE/NAT --> IPv6 */ 611 IAVF_PTT(51, IP, IPV4, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3), 612 IAVF_PTT(52, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3), [all …]
|
/Linux-v6.1/drivers/net/ethernet/intel/ice/ |
D | ice_lan_tx_rx.h | 740 /* IPv4 --> IPv6 */ 741 ICE_PTT(36, IP, IPV4, NOF, IP_IP, IPV6, FRG, NONE, PAY3), 742 ICE_PTT(37, IP, IPV4, NOF, IP_IP, IPV6, NOF, NONE, PAY3), 743 ICE_PTT(38, IP, IPV4, NOF, IP_IP, IPV6, NOF, UDP, PAY4), 745 ICE_PTT(40, IP, IPV4, NOF, IP_IP, IPV6, NOF, TCP, PAY4), 746 ICE_PTT(41, IP, IPV4, NOF, IP_IP, IPV6, NOF, SCTP, PAY4), 747 ICE_PTT(42, IP, IPV4, NOF, IP_IP, IPV6, NOF, ICMP, PAY4), 761 /* IPv4 --> GRE/NAT --> IPv6 */ 762 ICE_PTT(51, IP, IPV4, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3), 763 ICE_PTT(52, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3), [all …]
|
/Linux-v6.1/Documentation/networking/ |
D | ipv6.rst | 4 IPv6 chapter 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-v6.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-v6.1/net/ipv6/netfilter/ |
D | Kconfig | 6 menu "IPv6: Netfilter Configuration" 7 depends on INET && IPV6 && NETFILTER 10 tristate "IPv6 socket lookup support" 12 This option enables the IPv6 socket lookup infrastructure. This 16 tristate "IPv6 tproxy support" 21 bool "IPv6 nf_tables support" 23 This option enables the IPv6 support for nf_tables. 33 tristate "IPv6 nf_tables packet duplication support" 37 This module enables IPv6 packet duplication support for nf_tables. 40 tristate "nf_tables fib / ipv6 route lookup support" [all …]
|
/Linux-v6.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 | xdp_synproxy_kern.c | 289 __u8 *ttl, bool ipv6) in values_get_tcpipopts() argument 296 if (ipv6) in values_get_tcpipopts() 305 *mss = ipv6 ? DEFAULT_MSS6 : DEFAULT_MSS4; in values_get_tcpipopts() 348 struct ipv6hdr *ipv6; member 362 hdr->ipv6 = NULL; in tcp_dissect() 380 hdr->ipv6 = (void *)hdr->eth + sizeof(*hdr->eth); in tcp_dissect() 381 if (hdr->ipv6 + 1 > data_end) in tcp_dissect() 383 if (hdr->ipv6->version != 6) in tcp_dissect() 389 if (hdr->ipv6->nexthdr != NEXTHDR_TCP) in tcp_dissect() 392 hdr->tcp = (void *)hdr->ipv6 + sizeof(*hdr->ipv6); in tcp_dissect() [all …]
|
D | test_cls_redirect.c | 15 #include <linux/ipv6.h> 96 offsetofend(struct bpf_sock_tuple, ipv6.dport) - 97 offsetof(struct bpf_sock_tuple, ipv6.sport) - 1, 280 const struct ipv6hdr *ipv6, in pkt_skip_ipv6_extension_headers() argument 293 .next = ipv6->nexthdr, in pkt_skip_ipv6_extension_headers() 351 struct ipv6hdr *ipv6 = buf_assign(pkt, sizeof(*ipv6), scratch); in pkt_parse_ipv6() local 352 if (ipv6 == NULL) { in pkt_parse_ipv6() 356 if (!pkt_skip_ipv6_extension_headers(pkt, ipv6, proto, is_fragment)) { in pkt_parse_ipv6() 360 return ipv6; in pkt_parse_ipv6() 385 // Changing the ethertype if the encapsulated packet is ipv6 in accept_locally() [all …]
|
/Linux-v6.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 …]
|
D | ip_defrag.c | 33 /* IPv6 fragment header lenth. */ 42 #define IP6_MF (1) /* IPv6 MF flag. */ 135 int offset, bool ipv6) in send_fragment() argument 140 uint8_t *frag_start = ipv6 ? ip_frame + IP6_HLEN + FRAG_HLEN : in send_fragment() 149 if (ipv6) in send_fragment() 156 if (ipv6) { in send_fragment() 204 socklen_t alen, bool ipv6) in send_udp_frags() argument 219 if (ipv6) { in send_udp_frags() 248 send_fragment(fd_raw, addr, alen, offset, ipv6); in send_udp_frags() 259 send_fragment(fd_raw, addr, alen, offset, ipv6); in send_udp_frags() [all …]
|
D | ip_defrag.sh | 21 ip netns exec "${NETNS}" sysctl -w net.ipv6.ip6frag_high_thresh=9000000 >/dev/null 2>&1 22 ip netns exec "${NETNS}" sysctl -w net.ipv6.ip6frag_low_thresh=7000000 >/dev/null 2>&1 23 ip netns exec "${NETNS}" sysctl -w net.ipv6.ip6frag_time=1 >/dev/null 2>&1 30 ip netns exec "${NETNS}" sysctl -w net.ipv6.route.max_size=65536 >/dev/null 2>&1 46 echo "ipv6 defrag" 49 echo "ipv6 defrag with overlaps" 55 echo "ipv6 nf_conntrack defrag" 58 echo "ipv6 nf_conntrack defrag with overlaps"
|
D | srv6_end_dt46_l3vpn_test.sh | 8 # implementing IPv4/IPv6 L3 VPN use cases. 11 # End.DT6 Behaviors which can be used respectively to support IPv4-in-IPv6 and 12 # IPv6-in-IPv6 VPNs. With End.DT4 and End.DT6 it is not possible to create a 13 # single SRv6 VPN tunnel to carry both IPv4 and IPv6 traffic. 15 # decapsulation of IPv4 and IPv6 traffic coming from a single SRv6 tunnel. 20 # and 200) offer IPv4/IPv6 L3 VPN services allowing hosts to communicate with 21 # each other across an IPv6 network. 27 # IPv4/IPv6 L3 VPN of tenant 100 while hs-t200-3 and hs-t200-4 are connected 28 # using the IPv4/IPv6 L3 VPN of tenant 200. Cross connection between tenant 100 32 # Routers rt-1 and rt-2 implement IPv4/IPv6 L3 VPN services leveraging the SRv6 [all …]
|
D | reuseaddr_conflict.c | 7 * when we open the ipv6 conterpart, which is what was happening previously. 21 int open_port(int ipv6, int any) in open_port() argument 29 int family = ipv6 ? AF_INET6 : AF_INET; in open_port() 43 if (ipv6) { in open_port() 56 if (ipv6 && setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, (void*)&v6only, in open_port() 102 error(1, errno, "Couldn't open ipv6 reuseport"); in main() 108 fprintf(stderr, "Opening INADDR_ANY:%d after closing ipv6 socket\n", PORT); in main() 111 …, "Was allowed to create an ipv4 reuseport on an already bound non-reuseport socket with no ipv6"); in main()
|
/Linux-v6.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-v6.1/drivers/net/ethernet/mediatek/ |
D | mtk_ppe_debugfs.c | 12 bool ipv6; member 36 [MTK_PPE_PKT_TYPE_IPV6_ROUTE_3T] = "IPv6 3T", in mtk_foe_pkt_type_str() 37 [MTK_PPE_PKT_TYPE_IPV6_ROUTE_5T] = "IPv6 5T", in mtk_foe_pkt_type_str() 48 mtk_print_addr(struct seq_file *m, u32 *addr, bool ipv6) in mtk_print_addr() argument 53 if (!ipv6) { in mtk_print_addr() 66 mtk_print_addr(m, ai->src, ai->ipv6); in mtk_print_addr_info() 70 mtk_print_addr(m, ai->dest, ai->ipv6); in mtk_print_addr_info() 114 ai.src_port = &entry->ipv6.src_port; in mtk_ppe_debugfs_foe_show() 115 ai.dest_port = &entry->ipv6.dest_port; in mtk_ppe_debugfs_foe_show() 119 ai.src = &entry->ipv6.src_ip; in mtk_ppe_debugfs_foe_show() [all …]
|
/Linux-v6.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-v6.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 …]
|
/Linux-v6.1/tools/testing/selftests/bpf/ |
D | test_lwt_ip_encap.sh | 123 # disable IPv6 DAD because it sometimes takes too long and fails tests 124 ip netns exec ${NS1} sysctl -wq net.ipv6.conf.all.accept_dad=0 125 ip netns exec ${NS2} sysctl -wq net.ipv6.conf.all.accept_dad=0 126 ip netns exec ${NS3} sysctl -wq net.ipv6.conf.all.accept_dad=0 127 ip netns exec ${NS1} sysctl -wq net.ipv6.conf.default.accept_dad=0 128 ip netns exec ${NS2} sysctl -wq net.ipv6.conf.default.accept_dad=0 129 ip netns exec ${NS3} sysctl -wq net.ipv6.conf.default.accept_dad=0 137 ip netns exec ${NS2} sysctl -wq net.ipv6.conf.all.forwarding=1 248 # configure IPv6 GRE device in NS3, and a route to it via the "bottom" route 299 elif [ "${PROTO}" == "IPv6" ] ; then [all …]
|