kernel_optimize_test/net/ipv6
David Lebrun 6c8702c60b ipv6: sr: add support for SRH encapsulation and injection with lwtunnels
This patch creates a new type of interfaceless lightweight tunnel (SEG6),
enabling the encapsulation and injection of SRH within locally emitted
packets and forwarded packets.

>From a configuration viewpoint, a seg6 tunnel would be configured as follows:

  ip -6 ro ad fc00::1/128 encap seg6 mode encap segs fc42::1,fc42::2,fc42::3 dev eth0

Any packet whose destination address is fc00::1 would thus be encapsulated
within an outer IPv6 header containing the SRH with three segments, and would
actually be routed to the first segment of the list. If `mode inline' was
specified instead of `mode encap', then the SRH would be directly inserted
after the IPv6 header without outer encapsulation.

The inline mode is only available if CONFIG_IPV6_SEG6_INLINE is enabled. This
feature was made configurable because direct header insertion may break
several mechanisms such as PMTUD or IPSec AH.

Signed-off-by: David Lebrun <david.lebrun@uclouvain.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-09 20:40:06 -05:00
..
ila ila: Fix crash caused by rhashtable changes 2016-11-02 15:26:02 -04:00
netfilter netfilter: move socket lookup infrastructure to nf_socket_ipv{4,6}.c 2016-11-01 20:50:31 +01:00
addrconf_core.c
addrconf.c ipv6: implement dataplane support for rthdr type 4 (Segment Routing Header) 2016-11-09 20:40:06 -05:00
addrlabel.c
af_inet6.c ipv6: sr: add code base for control plane support of SR-IPv6 2016-11-09 20:40:06 -05:00
ah6.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
anycast.c
calipso.c
datagram.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
esp6.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
exthdrs_core.c
exthdrs_offload.c
exthdrs.c ipv6: implement dataplane support for rthdr type 4 (Segment Routing Header) 2016-11-09 20:40:06 -05:00
fib6_rules.c net: flow: Add l3mdev flow update 2016-09-10 23:12:51 -07:00
fou6.c
icmp.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
inet6_connection_sock.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
inet6_hashtables.c inet: Fix missing return value in inet6_hash 2016-10-29 12:01:49 -04:00
ip6_checksum.c
ip6_fib.c ipv6: report NLM_F_CREATE and NLM_F_EXCL flags in RTM_NEWROUTE events 2016-09-09 16:50:23 -07:00
ip6_flowlabel.c
ip6_gre.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
ip6_icmp.c
ip6_input.c
ip6_offload.c net: add recursion limit to GRO 2016-10-20 14:32:22 -04:00
ip6_offload.h
ip6_output.c net: ipv6: Remove l3mdev_get_saddr6 2016-09-10 23:12:53 -07:00
ip6_tunnel.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
ip6_udp_tunnel.c
ip6_vti.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
ip6mr.c net: pim: add all RFC7761 message types 2016-10-31 16:18:30 -04:00
ipcomp6.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
ipv6_sockglue.c ipv6: add IPV6_RECVFRAGSIZE cmsg 2016-11-03 15:41:11 -04:00
Kconfig ipv6: sr: add support for SRH encapsulation and injection with lwtunnels 2016-11-09 20:40:06 -05:00
Makefile ipv6: sr: add support for SRH encapsulation and injection with lwtunnels 2016-11-09 20:40:06 -05:00
mcast_snoop.c
mcast.c ipv6: fix a potential deadlock in do_ipv6_setsockopt() 2016-10-21 11:29:02 -04:00
mip6.c
ndisc.c net: l3mdev: remove redundant calls 2016-09-10 23:12:52 -07:00
netfilter.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
output_core.c net: l3mdev: Add hook to output path 2016-09-10 23:12:52 -07:00
ping.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
proc.c proc: Reduce cache miss in snmp6_seq_show 2016-09-30 01:50:44 -04:00
protocol.c
raw.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
reassembly.c ipv6: on reassembly, record frag_max_size 2016-11-03 15:41:11 -04:00
route.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
seg6_iptunnel.c ipv6: sr: add support for SRH encapsulation and injection with lwtunnels 2016-11-09 20:40:06 -05:00
seg6.c ipv6: sr: add support for SRH encapsulation and injection with lwtunnels 2016-11-09 20:40:06 -05:00
sit.c ipv4/6: use core net MTU range checking 2016-10-20 14:51:10 -04:00
syncookies.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
sysctl_net_ipv6.c
tcp_ipv6.c net: inet: Support UID-based routing in IP protocols. 2016-11-04 14:45:23 -04:00
tcpv6_offload.c
tunnel6.c
udp_impl.h
udp_offload.c
udp.c udp: do fwd memory scheduling on dequeue 2016-11-07 13:24:41 -05:00
udplite.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-08-30 00:54:02 -04:00
xfrm6_input.c vti6: fix input path 2016-09-21 10:09:14 +02:00
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-09-12 15:52:44 -07:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c vti6: fix input path 2016-09-21 10:09:14 +02:00