On Wed, 18 May 2016, Lou Berger wrote:

The 5512 is pretty cheap already...

It's not a bad price for the hardware, is my vague understanding. There's a wider range of L3 ASIC vendors, and port options coming along too I believe.

I was really excited to start using this as soon as it was announced, but I needed v6 and RIP (don't throw anything please) and neither are supported.

Not yet. If we have a path to upstreaming this where the only real obstacle is supporting other protocols, it may well be possible to get HPE Aruba to put resources into that.

At the moment OpenSwitch is working on stabilising for its first major release. I'm hoping there-after there'd be more cycles internally to work on upstreaming.

I was then *really* surprised to see the architecture was moving away from zebra as the RIB manager. (see

http://git.openswitch.net/cgit/openswitch/ops-quagga/diff/zebra/DESIGN.md?id2=vendor&context=6&ignorews=1)

What do oyu mean "moving away"? The zebra daemon is still there, and it's still responsible for doing route-selection and programming the kernel (wihch is the "slow path" or "software path" if you're on hardware with an L3 ASIC). It's just Zserv that goes away and is replaced with OVSDB.

I'm not sure this the right design choice as integrating zebra maintained ribs into OVSDB would have allowed any routing protocol to be supported without per protocol changes. The internal state tracking and management interface via OVSDB could still be done per protocol, but without limiting use of the other protocols.

Keeping Zserv open is possible, and zebra could then populate the OVSDB, as a proxy, with a bit of work, sure.

This all said, given that this is a conditionally compiled feature it shouldn't break normal, non-ovsdb usage, or brake other new features that have been raised over the last few years (the ones I care about are VRFs&VPNS, MPLS, TE).

I think for integration, I'd want to get rid of all the OVSDB ifdefs. That'd be a nightmare. See below on 'one way'.

I think the main substantive question I'm left with is how does this work align/coexist with cap'n proto work that was discussed a few months ago. Any thoughts?

I'd worry whether the Quagga code-base can sustain multiple internal mechanisms to its state.

Indeed, that'd be a concern I have with a number of recent patches adding new custom and semi-custom protocols to inside Quagga components. I fear it is not sustainable. Architecturally, /one/ clean way to get state in/out of components in a sufficiently structured fashion to allow further tools and interfaces to be built on that would be preferable; to the alternative of having to maintain a whole bunch of different protocols.

Modifying the internals of the components to Pub/sub state via OVSDB is one way to do that.

OpenSwitch, AFAIK, is the furthest along in terms of providing a production ready, modern API for Quagga, along with a number of tools and interfaces (vty, JSON embedded-DB orientated Pub/Sub RPC, JSON/HTTP ReST, and no doubt there's more I've forgotten).

regards,
--
Paul Jakma, HPE Aruba, Advanced Technology Group
Fortune:
"You've got to have a gimmick if your band sucks."
                -- Gary Giddens

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

Reply via email to