Closed davewj100 closed 1 year ago
Just figured something out... The inter-VRF routes are actually working. I can ping other IPs across the VLANs, but I cannot ping the interface IPs on the switch between the VRFs. This must be something to do with the ACLs, but it doesn't matter in my case.
Now I just need to figure out why the routes disappear on reboot. If I can nail it down, I'll post what I did.
OK I answered my own question. In order to make it persistent, you can modify the config_db.json manually and add lines like this:
"STATIC_ROUTE": {
"Vrf_prod|10.41.3.0/24": {
"blackhole": "false",
"distance": "0",
"ifname": "Vlan1003",
"nexthop-vrf": "Vrf_Vlan1003"
}
The cmd doesn't seem to do it right, at least in my version; perhaps it's fixed in the later branches. I had a loud fan problem with one of the newer masters, maybe I'll try it again.
Thanks
Well, the ping works but is that routed in the CPU or data plane ? You may want to check. I have Host H1 in on VRF and H2 in the other VRF. I could ping across but the pkts are routed by the CPU.
Thanks so much for the reply! I figured this out, and posted a question on ServeTheHome about it:
I ended up working around this issue by using a single VRF for my production network.
Dave
On Sun, Jun 2, 2024 at 2:35 AM selvatechtalk @.***> wrote:
Well, the ping works but is that routed in the CPU or data plane ? You may want to check. I have Host H1 in on VRF and H2 in the other VRF. I could ping across but the pkts are routed by the CPU.
— Reply to this email directly, view it on GitHub https://github.com/sonic-net/SONiC/issues/1204#issuecomment-2143719934, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIE4USJ5LEPM7OSBCDFEDJTZFK4LDAVCNFSM6AAAAAATQELXIKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBTG4YTSOJTGQ . You are receiving this because you modified the open/close state.Message ID: @.***>
Good day everyone, I hope someone out there can shed some light on this problem.
What I would like: Multiple VRFs each containing one or more VLANs, and route between them inside the L3 switch. I can do this successfully with an external router, but I have 100G interfaces, so I need the L3 speed. I need multiple VRFs because I want to route traffic differently depending on its VLAN.
According to this page, this configuration is called "Route Leeaking": https://github.com/sonic-net/SONiC/blob/master/doc/vrf/sonic-vrf-hld.md#VRF-route-leak-support
This is what my VLANs and their bound VRFs and subnets looks like:
Goal: I want to route between 10.41.3.0/24 in Vrf_Vlan1003 and 10.41.0.0/24 in Vrf_prod.
Here is how I attempted to set it up in vtysh:
So I added routes for both directions, and after running those commands in vtysh, everything looks good:
And yet, when I try to ping between them, it doesn't work:
Also, even when I save the config, those routes disappear on reboot. I also see this error in the syslog:
Another thing I notice, is there is a command in the config namespace (at regular cconsole) which has VRFs as inputs, but no matter what I try the same thing happens: A static route is added into config_db.conf, no error is returned, but no actual route is created:
Anybody have any ideas? What is the correct way to do this route leaking thing? Any suggestions much appreciated. Thanks!
Below is my SONiC version info: