kernel: enable SRv6 support by enabling lwtunnel
authorNick Hainke <vincent@systemli.org>
Sat, 12 Dec 2020 10:23:54 +0000 (11:23 +0100)
committerPaul Spooren <mail@aparcar.org>
Mon, 11 Jan 2021 21:09:05 +0000 (11:09 -1000)
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 <vincent@systemli.org>
config/Config-kernel.in
target/linux/generic/config-5.4

index e22fcf63826cb368581bfc574a9b3f5d0817f706..858ee0cf60b11aeb766197af33adc8d069bc11f2 100644 (file)
@@ -975,6 +975,14 @@ if KERNEL_IPV6
        config KERNEL_IPV6_PIMSM_V2
                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
 
 #
index 46bc731f04f0a7de45d04c412c67e4f33a606468..9006c63ecf4e1f95df2a696c4679a4de16aa2725 100644 (file)
@@ -2400,7 +2400,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y
 # CONFIG_IPV6_ROUTER_PREF is not set
 # CONFIG_IPV6_ROUTE_INFO 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_6RD is not set
 # CONFIG_IPV6_TUNNEL is not set