On 6/5/23 23:26, Jeff Haas via juniper-nsp wrote:

[Note that I've already inquired internally about the original problem.  I 
don't recall the answer from top of head and don't have time for code 
spelunking...]

As to the point below, we get to these headaches one commit at a time.  Junos 
is long-lived enough that VRFs started as a hack on a system that didn't have 
them.  A completely new system written from scratch likely would just assume 
arbitrary tables that can be spaghetti configured into whatever you want to do 
with them.

When I was first studying the Juniper implementation of L3VPN VRFs, some of the 
rib-group constructs didn’t make a lot of sense to me.  It was rather clearer 
after discovering that when the features were released in the 9.x (?) releases 
that all of the niceties we have today used to be completely done at a manual 
level with those same rib-groups. __

While I have a lot of sympathy for Saku's pragmatism, I prefer to file off the 
ugly edges of old justifications when I can... but it's done one commit at a 
time.

I think Junos' VRF implementation is so far down the line, it makes more sense to just carry on with the architecture and add knobs, support and fixes as issues are either discovered or as customers ask for them. As you say, "One commit at a time".

Going back to re-do the implementation from scratch would be a non-starter. There is simply too much water under this bridge.

It is not unlike all the stuff you get in IOS (and IOS XE) after so many years of assuming so many things in the 90's and early 2000's, not least of which that IP is not the only protocol routers will ever run. It is so hard for Cisco to remove or re-do those assumptions. At some point, you just have to accept that picking up an OS-specific book that eloquently describes its eccentricities is part of the process of raising a network engineer.

Newer OS's like EOS, ArcOS have a cleaner, simpler and more sensible approach to this sort of thing because they are benefiting from all the good things IOS/IOS XE/IOS XR and Junos have done in the past 25+ years, while dropping all the bad things those OS's have also done. Where the older OS's still display their strength is in their maturity, especially of routing protocols.

In the end, pick your poison, buy the book, and be happy.

Mark.
_______________________________________________
juniper-nsp mailing list [email protected]
https://puck.nether.net/mailman/listinfo/juniper-nsp

Reply via email to