Browse Source

kernel: enable SRv6 support by enabling lwtunnel

Enable the ability to use segment routing based on IPv6. It allows the
packet to specify a path that the packet should take through the
network.

Lwtunnel allow an easy encapsulation of a package. You can just install
ip-full package and use it:

  ip -6 route add  2003::/64 dev eth0 encap seg6 mode encap \
    segs 2001::1,2002::2

An IPv6 package looks like this:
  [IPv6 HDR][IPv6 RH][IPv6 HDR][Data...]

Netifd support:
  https://git.openwrt.org/?p=project/netifd.git;
     a=commit;h=458b1a7e9473c150a40cae5d8be174f4bb03bd39

Increases imagesize by 24.125 KiB. Therefore, only enable for devices
with enough flash.

Signed-off-by: Nick Hainke <[email protected]>
Nick Hainke 4 years ago
parent
commit
a1a7f3274e
2 changed files with 8 additions and 1 deletions
  1. 8 0
      config/Config-kernel.in
  2. 0 1
      target/linux/generic/config-5.4

+ 8 - 0
config/Config-kernel.in

@@ -975,6 +975,14 @@ if KERNEL_IPV6
 	config KERNEL_IPV6_PIMSM_V2
 	config KERNEL_IPV6_PIMSM_V2
 		def_bool n
 		def_bool n
 
 
+	config KERNEL_IPV6_SEG6_LWTUNNEL
+		def_bool y if !SMALL_FLASH
+		help
+		  Using lwtunnel requires full-ip package.
+
+	config KERNEL_LWTUNNEL_BPF
+		def_bool n
+
 endif
 endif
 
 
 #
 #

+ 0 - 1
target/linux/generic/config-5.4

@@ -2400,7 +2400,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y
 # CONFIG_IPV6_ROUTER_PREF is not set
 # CONFIG_IPV6_ROUTER_PREF is not set
 # CONFIG_IPV6_ROUTE_INFO is not set
 # CONFIG_IPV6_ROUTE_INFO is not set
 # CONFIG_IPV6_SEG6_HMAC is not set
 # CONFIG_IPV6_SEG6_HMAC is not set
-# CONFIG_IPV6_SEG6_LWTUNNEL is not set
 # CONFIG_IPV6_SIT is not set
 # CONFIG_IPV6_SIT is not set
 # CONFIG_IPV6_SIT_6RD is not set
 # CONFIG_IPV6_SIT_6RD is not set
 # CONFIG_IPV6_TUNNEL is not set
 # CONFIG_IPV6_TUNNEL is not set