On Fri, 22 Jan 2016, Paul Jakma wrote:

This is touching on a concern I have. We have to have wave after wave of VRF patches, that have to touch *lots* of code to extend it to be VRF aware, and we *still* don't actually have any meaningful VRF ability.

And to add some background to this, history suggests that it is very tempting to think "Oh, I can just add awareness of a $CONTEXT to all the code, it'll be easy" and to start off with adding a context everywhere, but that the reality is that while adding the argument is easy that actually finishing the job off and making all the code actually do something useful with it is a lot more difficult.

E.g.:

- ospfd went through lots of churn in the GNU Zebra days to add (struct
  ospf *) everywhere, presumably to try get to multiple-instance. Some
  of the changes were probably pointless, cause the context was implied
  in other arguments (e.g. LSAs).

  That was more than 15 years ago I think. I had to rejiggle lots of
  patches cause of this.

- zebra went through some churn, to add a vrf arg. Again, something like
  10 years ago.

- Last year we had another rejiggle of vrf.

Lots of churn in the code, and *not one* of those things has to date had any functional benefit.

So, I think we need to learn from that history, and be careful not to again underestimate just how much work it is to make lots of existing code handle an extra level of context.

This suggests that this time we should consider another way. It may well be better and faster to add the layer of context by encapsulating the existing code within that context in some way, be it by using processes and/or namespaces and/or containers or whatever - minimising the changes to existing code, and also making it easier to test.

On the flip-side, you could write a daemon in a matter of weeks to setup VRFs and launch the right daemons in them, and it'd work - with little churn to existing routing code.

Why should we take the high-churn path - probably for a year or more to come - when there is a simpler, lower-churn, lower-conflict path?

regards,
--
Paul Jakma      [email protected]  @pjakma Key ID: 64A2FF6A
Fortune:
The average, healthy, well-adjusted adult gets up at seven-thirty in
the morning feeling just terrible.
                -- Jean Kerr

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to