| /Linux-v5.15/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" 11 Support for IP version 6 (IPv6). 13 For general information about IPv6, see 14 <https://en.wikipedia.org/wiki/IPv6>. 15 For specific information about IPv6 under Linux, see 16 Documentation/networking/ipv6.rst and read the HOWTO at 17 <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> 42 ipv6.sysctl.multipath_hash_policy); in proc_rt6_multipath_hash_policy() 58 ipv6.sysctl.multipath_hash_fields); in proc_rt6_multipath_hash_fields() 69 .data = &init_net.ipv6.sysctl.bindv6only, 76 .data = &init_net.ipv6.sysctl.anycast_src_echo_reply, 83 .data = &init_net.ipv6.sysctl.flowlabel_consistency, 90 .data = &init_net.ipv6.sysctl.auto_flowlabels, 98 .data = &init_net.ipv6.sysctl.fwmark_reflect, [all …]
|
| D | Makefile | 6 obj-$(CONFIG_IPV6) += ipv6.o 8 ipv6-objs := af_inet6.o anycast.o ip6_output.o ip6_input.o addrconf.o \ 15 ipv6-offload := ip6_offload.o tcpv6_offload.o exthdrs_offload.o 17 ipv6-$(CONFIG_SYSCTL) = sysctl_net_ipv6.o 18 ipv6-$(CONFIG_IPV6_MROUTE) += ip6mr.o 20 ipv6-$(CONFIG_XFRM) += xfrm6_policy.o xfrm6_state.o xfrm6_input.o \ 22 ipv6-$(CONFIG_NETFILTER) += netfilter.o 23 ipv6-$(CONFIG_IPV6_MULTIPLE_TABLES) += fib6_rules.o 24 ipv6-$(CONFIG_PROC_FS) += proc.o 25 ipv6-$(CONFIG_SYN_COOKIES) += syncookies.o [all …]
|
| D | fib6_rules.c | 3 * net/ipv6/fib6_rules.c IPv6 Routing Policy Rules 19 #include <net/ipv6.h> 68 if (net->ipv6.fib6_has_custom_rules) { in fib6_lookup() 78 err = fib_rules_lookup(net->ipv6.fib6_rules_ops, in fib6_lookup() 81 err = fib6_table_lookup(net, net->ipv6.fib6_local_tbl, oif, in fib6_lookup() 83 if (err || res->f6i == net->ipv6.fib6_null_entry) in fib6_lookup() 84 err = fib6_table_lookup(net, net->ipv6.fib6_main_tbl, in fib6_lookup() 95 if (net->ipv6.fib6_has_custom_rules) { in fib6_rule_lookup() 107 fib_rules_lookup(net->ipv6.fib6_rules_ops, in fib6_rule_lookup() 116 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 29 #include <net/ipv6.h> 75 list_for_each_entry(w, &(net)->ipv6.fib6_walkers, lh) 79 write_lock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_link() 80 list_add(&w->lh, &net->ipv6.fib6_walkers); in fib6_walker_link() 81 write_unlock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_link() 86 write_lock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_unlink() 88 write_unlock_bh(&net->ipv6.fib6_walker_lock); in fib6_walker_unlink() 96 old = atomic_read(&net->ipv6.fib6_sernum); in fib6_new_sernum() 98 } 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() 461 table[0].data = &net->ipv6.fqdir->high_thresh; in ip6_frags_ns_sysctl_register() 462 table[0].extra1 = &net->ipv6.fqdir->low_thresh; in ip6_frags_ns_sysctl_register() 463 table[1].data = &net->ipv6.fqdir->low_thresh; in ip6_frags_ns_sysctl_register() 464 table[1].extra2 = &net->ipv6.fqdir->high_thresh; in ip6_frags_ns_sysctl_register() 465 table[2].data = &net->ipv6.fqdir->timeout; in ip6_frags_ns_sysctl_register() [all …]
|
| /Linux-v5.15/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-v5.15/drivers/net/ethernet/intel/ice/ |
| D | ice_lan_tx_rx.h | 694 /* IPv4 --> IPv6 */ 695 ICE_PTT(36, IP, IPV4, NOF, IP_IP, IPV6, FRG, NONE, PAY3), 696 ICE_PTT(37, IP, IPV4, NOF, IP_IP, IPV6, NOF, NONE, PAY3), 697 ICE_PTT(38, IP, IPV4, NOF, IP_IP, IPV6, NOF, UDP, PAY4), 699 ICE_PTT(40, IP, IPV4, NOF, IP_IP, IPV6, NOF, TCP, PAY4), 700 ICE_PTT(41, IP, IPV4, NOF, IP_IP, IPV6, NOF, SCTP, PAY4), 701 ICE_PTT(42, IP, IPV4, NOF, IP_IP, IPV6, NOF, ICMP, PAY4), 715 /* IPv4 --> GRE/NAT --> IPv6 */ 716 ICE_PTT(51, IP, IPV4, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3), 717 ICE_PTT(52, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3), [all …]
|
| /Linux-v5.15/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-v5.15/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-v5.15/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-v5.15/tools/testing/selftests/bpf/progs/ |
| D | connect6_prog.c | 37 memset(&tuple.ipv6.saddr, 0, sizeof(tuple.ipv6.saddr)); in connect_v6_prog() 38 memset(&tuple.ipv6.sport, 0, sizeof(tuple.ipv6.sport)); in connect_v6_prog() 40 tuple.ipv6.daddr[0] = bpf_htonl(DST_REWRITE_IP6_0); in connect_v6_prog() 41 tuple.ipv6.daddr[1] = bpf_htonl(DST_REWRITE_IP6_1); in connect_v6_prog() 42 tuple.ipv6.daddr[2] = bpf_htonl(DST_REWRITE_IP6_2); in connect_v6_prog() 43 tuple.ipv6.daddr[3] = bpf_htonl(DST_REWRITE_IP6_3); in connect_v6_prog() 45 tuple.ipv6.dport = bpf_htons(DST_REWRITE_PORT6); in connect_v6_prog() 50 sk = bpf_sk_lookup_tcp(ctx, &tuple, sizeof(tuple.ipv6), in connect_v6_prog() 53 sk = bpf_sk_lookup_udp(ctx, &tuple, sizeof(tuple.ipv6), in connect_v6_prog() 59 if (sk->src_ip6[0] != tuple.ipv6.daddr[0] || in connect_v6_prog() [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-v5.15/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 | 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 | 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()
|
| 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 …]
|
| /Linux-v5.15/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-v5.15/drivers/net/ethernet/mediatek/ |
| D | mtk_ppe_debugfs.c | 12 bool ipv6; member 37 [MTK_PPE_PKT_TYPE_IPV6_ROUTE_3T] = "IPv6 3T", in mtk_foe_pkt_type_str() 38 [MTK_PPE_PKT_TYPE_IPV6_ROUTE_5T] = "IPv6 5T", in mtk_foe_pkt_type_str() 49 mtk_print_addr(struct seq_file *m, u32 *addr, bool ipv6) in mtk_print_addr() argument 54 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() 115 ai.src_port = &entry->ipv6.src_port; in mtk_ppe_debugfs_foe_show() 116 ai.dest_port = &entry->ipv6.dest_port; in mtk_ppe_debugfs_foe_show() 120 ai.src = &entry->ipv6.src_ip; in mtk_ppe_debugfs_foe_show() [all …]
|
| D | mtk_ppe.c | 94 hv1 = e->ipv6.src_ip[3] ^ e->ipv6.dest_ip[3]; in mtk_ppe_hash_entry() 95 hv1 ^= e->ipv6.ports; in mtk_ppe_hash_entry() 97 hv2 = e->ipv6.src_ip[2] ^ e->ipv6.dest_ip[2]; in mtk_ppe_hash_entry() 98 hv2 ^= e->ipv6.dest_ip[0]; in mtk_ppe_hash_entry() 100 hv3 = e->ipv6.src_ip[1] ^ e->ipv6.dest_ip[1]; in mtk_ppe_hash_entry() 101 hv3 ^= e->ipv6.src_ip[0]; in mtk_ppe_hash_entry() 126 return &entry->ipv6.l2; in mtk_foe_entry_l2() 137 return &entry->ipv6.ib2; in mtk_foe_entry_ib2() 168 entry->ipv6.ports = ports_pad; in mtk_foe_entry_prepare() 171 entry->ipv6.ib2 = val; in mtk_foe_entry_prepare() [all …]
|
| /Linux-v5.15/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-v5.15/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-v5.15/tools/testing/selftests/bpf/ |
| D | test_lwt_seg6local.sh | 3 # Each NS may have different IPv6 global scope addresses : 8 # All IPv6 packets going to fb00::/16 through NS2 will be encapsulated in a 9 # IPv6 header with a Segment Routing Header, with segments : 12 # 3 fd00::/16 IPv6 addresses are binded to seg6local End.BPF actions : 17 # fd00::4 is a simple Segment Routing node decapsulating the inner IPv6 packet. 130 ip netns exec ns1 sysctl net.ipv6.conf.all.forwarding=1 > /dev/null 131 ip netns exec ns2 sysctl net.ipv6.conf.all.forwarding=1 > /dev/null 132 ip netns exec ns3 sysctl net.ipv6.conf.all.forwarding=1 > /dev/null 133 ip netns exec ns4 sysctl net.ipv6.conf.all.forwarding=1 > /dev/null 134 ip netns exec ns5 sysctl net.ipv6.conf.all.forwarding=1 > /dev/null [all …]
|
| /Linux-v5.15/tools/testing/selftests/tc-testing/tc-tests/filters/ |
| D | matchall.json | 46 "name": "Add ingress matchall filter for protocol ipv6 and action DROP", 55 …"cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ipv6 matchall a… 57 … "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ipv6 matchall", 58 …"matchPattern": "^filter parent ffff: protocol ipv6 pref 1 matchall.*handle 0x1.*gact action drop.… 67 "name": "Add egress matchall filter for protocol ipv6 and action DROP", 76 …"cmdUnderTest": "$TC filter add dev $DUMMY parent 1: handle 0x1 prio 1 protocol ipv6 matchall acti… 78 "verifyCmd": "$TC filter get dev $DUMMY parent 1: handle 1 prio 1 protocol ipv6 matchall", 79 …"matchPattern": "^filter parent 1: protocol ipv6 pref 1 matchall.*handle 0x1.*gact action drop.*re… 256 "name": "Add ingress matchall filter for protocol ipv6 and action PASS with classid", 265 …"cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ipv6 matchall c… [all …]
|