Vero 4K with multiple route tables

Hello,

I am trying to setup Vero 4K with two fully routable network interfaces (eth0 and tun0) with eth0 being default and tun0 only used by applications which bind to it explicitly. Right now when I bind application to tun0 it binds correctly, but it cannot connect to internet through that interface because all the routes direct it to use eth0 routing.

For this setup I’d need to set multiple route tables but as I can see Vero 4K kernel 3.14.29-51-osmc does not support it.

Any chance for enabling next kernel configuration?

CONFIG_IP_MULTIPLE_TABLES=y

Yes. I’ll let you know when this is ready.

According to linux/Kconfig at master · torvalds/linux · GitHub it has a dependency on IP_ADVANCED_ROUTER.

I see they’re already build into the Pi2/3 kernel.

Thanks! I was being impatient and figured that why I wouldn’t spend my saturday building kernel for the first time in my life. It went really well thanks to your build.sh script! Managed to get this working with next changes:

root@build-kernel2:~/osmc# git diff package/kernel-osmc/patches/vero364-000-add-kernel-config.patch
diff --git a/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch b/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch
index 5c556ccc..fecd6b83 100644
--- a/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch
+++ b/package/kernel-osmc/patches/vero364-000-add-kernel-config.patch
@@ -468,7 +468,8 @@
 +# CONFIG_NET_KEY is not set
 +CONFIG_INET=y
 +CONFIG_IP_MULTICAST=y
-+# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_MULTIPLE_TABLES=y
++CONFIG_IP_ADVANCED_ROUTER=y
 +CONFIG_IP_PNP=y
 +CONFIG_IP_PNP_DHCP=y
 +CONFIG_IP_PNP_BOOTP=y

Now I just need to figure out how to disallow repository to update this self-baked kernel. All in all, I would still prefer you to build it to official OSMC kernel, but this’ll do for the time being.

I think there’s a good chance that it’ll be in the next update - in which case there should be no need to block an update of the kernel. You can block an update with:

echo "<package-name> hold" | sudo dpkg --set-selections

and to re-enable:

echo "<package-name> install" | sudo dpkg --set-selections

I’ll have it in for the next update for you anyway.

Sam

Sorry for the late reply. February update it is.

Hopefully the issue is now addressed with the following commit:

I’d appreciate it if you could test this and provide feedback before we release this as an update to other users. To test this update:

  1. Login via the command line
  2. Edit the file /etc/apt/sources.list
  3. Add the following line: deb http://apt.osmc.tv stretch-devel main
  4. Run the following commands to update: sudo apt-get update && sudo apt-get dist-upgrade && reboot
  5. Your system should have have received the update.

I also recommend you edit /etc/apt/sources.list again and remove the line that you added after updating. This will return you to the normal update channel.