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