Could you help me understand the practical use of the "local tables" ( versus the "main routing table"), displayed with command : ip route show table rt_eno2
My understanding of basic routing is that for a given destination the Kernel will find the best interface to use to output the packet based on destination IP address ( whichever the packet source is local or non-local via Ipv4_forward)
whichever it is a connected interface or a static route ( specific or default), this process is made globally to the kernel and not per interface.
( being a CCIE myself , I assume it should work pretty much like a Cisco router , beside vrf)
I don't see any practical case where we would need to use this sub-routing table , versus using the main routing table. The only case that comes to my mind is if we have two Linux interfaces in the same subnet with a different default gateway configured in each local table. You will then like to use one gateway or the other to send your packet to, and will need to force destination to one interface or the other. But I also understand that having two interface in the same subnet leads to confusion inside the Kernel . ( example with Eno1=192.168.0.1 and eno2=192.168.0.2 , on which interface should I send back a packet with destination 192.168.0.3 ?)
Anyway, I'm using Linux quite a lot and I only use the main table, I wanted to understand the practical use case of this "per-interface" / local routing tables option in the Linux.