On Fri, 29 May 2015, Jafar Al-Gharaibeh wrote:
I'm not saying it should be done this way, but I'm trying to see if you can
still do your "semi-hacked" approach if we have VRF-aware daemons, while
still being able to run several VRFs in one of the daemons.
Yes, the hacky script still works. The issue is trying to make it
non-hacky and supported well within Quagga:
At some point that really should become a proper VRF management daemon.
That seems a sensible way forward for the daemon-set-per-VRF approach.
I.e. have 1 VRF-management daemon to create the VRFs and launch the right
daemons in the right VRF. I guess that means we make 'watchquagga' a
first-class citizen and formally responsible for launching daemons (and
VRFs).
However, if single-daemon support is in, then zebra will /also/ have VRF
management commands. While running in a VRF (I think Linux netnamespaces
nest, but I probably wouldn't choose to make that part of the supported
Quagga abstraction). The other daemons will also have VRF commands,
despite running single-instance.
That's going to be confusing for users, at a minimum.
Basically, one-daemon-for-all goes in as it is now (the initial bit we've
seen), we're going to have to support that. Life will (I suspect) become a
little bit harder then for anyone who wants to have daemon-set-per-VRF
integrated into Quagga, should they come along.
A hacky way might be to have a daemon flag to tell daemons "you're already
in a VRF" and then have them modify their commands to disable any VRF
stuff. That's already going to be a good bit of fiddling with commands and
Zserv. I guess. There might be other issues.
Which reminds me, Zserv, in addition to the VRF ID, presumably also needs
some way to tell clients "I don't actually do VRF in this instance,
sorry".
regards,
--
Paul Jakma [email protected] @pjakma Key ID: 64A2FF6A
Fortune:
"Does it worry you that you don't talk any kind of sense? "
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev