From a1a7f3274e0ed27511d45f62ee20281d8d57c7af Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 12 Dec 2020 11:23:54 +0100 Subject: [PATCH] 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 --- config/Config-kernel.in | 8 ++++++++ target/linux/generic/config-5.4 | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/config/Config-kernel.in b/config/Config-kernel.in index e22fcf63826..858ee0cf60b 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -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 # diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4 index 46bc731f04f..9006c63ecf4 100644 --- a/target/linux/generic/config-5.4 +++ b/target/linux/generic/config-5.4 @@ -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