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>
Showing
- include/linux/seg6_iptunnel.h 6 additions, 0 deletionsinclude/linux/seg6_iptunnel.h
- include/net/seg6.h 6 additions, 0 deletionsinclude/net/seg6.h
- include/uapi/linux/lwtunnel.h 1 addition, 0 deletionsinclude/uapi/linux/lwtunnel.h
- include/uapi/linux/seg6_iptunnel.h 44 additions, 0 deletionsinclude/uapi/linux/seg6_iptunnel.h
- net/core/lwtunnel.c 2 additions, 0 deletionsnet/core/lwtunnel.c
- net/ipv6/Kconfig 12 additions, 0 deletionsnet/ipv6/Kconfig
- net/ipv6/Makefile 1 addition, 1 deletionnet/ipv6/Makefile
- net/ipv6/seg6.c 44 additions, 0 deletionsnet/ipv6/seg6.c
- net/ipv6/seg6_iptunnel.c 410 additions, 0 deletionsnet/ipv6/seg6_iptunnel.c
include/linux/seg6_iptunnel.h
0 → 100644
include/uapi/linux/seg6_iptunnel.h
0 → 100644
net/ipv6/seg6_iptunnel.c
0 → 100644
Please register or sign in to comment