/linux/net/ipv6/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
/linux/Documentation/networking/ |
H A 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/net/6lowpan/ |
H A 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/tools/testing/selftests/net/ |
H A 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 …]
|
H A 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 …]
|
H A D | gre_ipv6_lladdr.sh | 17 # Add fake IPv4 and IPv6 networks on the loopback device, to be used as 27 # Check if network device has an IPv6 link-local address assigned. 53 # Create a GRE device and verify that it gets an IPv6 link-local address as 59 # * $2: The local underlay IP address (can be an IPv4, an IPv6 or "any") 60 # * $3: The remote underlay IP address (can be an IPv4, an IPv6 or "any") 61 # * $4: The IPv6 interface identifier generation mode to use for the GRE 95 ip netns exec "${NS0}" sysctl -qw net.ipv6.conf.gretest.stable_secret="2001:db8::abcd" 105 # Check that IPv6 link-local address is generated when device goes up 106 ip netns exec "${NS0}" sysctl -qw net.ipv6.conf.gretest.addr_gen_mode="${ADDR_GEN_MODE}" 112 ip netns exec "${NS0}" sysctl -qw net.ipv6.conf.gretest.addr_gen_mode=1 [all …]
|
H A 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 …]
|
H A D | srv6_end_x_next_csid_l3vpn_test.sh | 14 # IPv4/IPv6 L3 VPN service, offered by routers rt-1, rt-2, rt-3 and rt-4 using 37 # handling, at the same time, both tunneled IPv4 and IPv6 traffic. 96 # of the IPv6 routing tables in the routers. 106 # from a connected host, considering the IPv4 or IPv6 destination address. 108 # new IPv6 packet with a given SID List contained in the SRH. 110 # and that SID is stored directly in the IPv6 Destination Address (DA) (this is 130 # For the single SID test case, we use the IPv6 addresses of hs-1 and hs-2, for 141 # i) IPv6 DA=cafe::2, H.Encaps.Red with SID List=fcbb:0:0300:0200:d46:: 148 # pushes the single SID directly in the IPv6 DA. Such a SID encodes a whole 153 # analyzes the IPv6 DA and checks whether the Argument of the C-SID container [all …]
|
/linux/tools/testing/selftests/bpf/progs/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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/include/uapi/linux/ |
H A 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/tools/testing/selftests/net/forwarding/ |
H A 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)"
|
H A 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)"
|
H A 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)"
|
H A 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)"
|
H A 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)"
|
H A 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/drivers/net/ethernet/mediatek/ |
H A 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/net/netfilter/ipset/ |
H A 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/net/netlabel/ |
H A 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/tools/testing/selftests/bpf/ |
H A D | test_lwt_ip_encap.sh | 124 # disable IPv6 DAD because it sometimes takes too long and fails tests 125 ip netns exec ${NS1} sysctl -wq net.ipv6.conf.all.accept_dad=0 126 ip netns exec ${NS2} sysctl -wq net.ipv6.conf.all.accept_dad=0 127 ip netns exec ${NS3} sysctl -wq net.ipv6.conf.all.accept_dad=0 128 ip netns exec ${NS1} sysctl -wq net.ipv6.conf.default.accept_dad=0 129 ip netns exec ${NS2} sysctl -wq net.ipv6.conf.default.accept_dad=0 130 ip netns exec ${NS3} sysctl -wq net.ipv6.conf.default.accept_dad=0 138 ip netns exec ${NS2} sysctl -wq net.ipv6.conf.all.forwarding=1 249 # configure IPv6 GRE device in NS3, and a route to it via the "bottom" route 300 elif [ "${PROTO}" == "IPv6" ] ; then [all …]
|