On 2015-09-08 16:13, Paul Jakma wrote:
On Sun, 23 Aug 2015, Kaloyan Kovachev wrote:

No, I don't think it is possible, because the realm has different meaning (see [1] for example use) and there could be multiple communities, but just a single realm. From the example [1]: I set a community for both the traffic type (national or international) and peer (AS or some other ID), then on the remote I use one or the other depending on what is the router's role

Sure, communities can mean many things. They're user-defined tags
mostly. The admin can varve out different parts of the community space
to use for different things.

So couldn't an admin though define a range of communities to be used
as realms? Then "all" we'd have to do is add a command to define that
range and if 1 (and only 1?) communty in that range is in the best
route, it gets sent to zebra.


It is too limiting - as you can see from my example the realm can be set by matching on a community with peer's AS (which is not in any specific range) or traffic type (which is indeed admin defined range) or even both on one and the same router. I don't see how it can be done without separate UI and dedicated tag.

If that sounds too hacky, BGP Wide-Communities could allow a
specifically typed ext-community to be defined. Though, still have to
implement Wide-Communities.

My concern basically is the UI. I noted some possible issues in my
scan of the implementation in a previous email (e.g. only being
applied on rsclients, and then being set on the global attr instead of
the rsclient specific - that seems odd?). Then there's the fact that
'realm' is a linux specific tag, so ideally we'd minimise the amount
of UI exposed to support it, somehow.


Probably "the fact that 'realm' is a linux specific tag" is the main problem here and is probably the main reason for the patch not being included for over 10 years, but realms are not subset of the communities or any other existing 'tag' - otherwise that tag would have been used, instead of adding them at all. To use something OS specific you need OS specific tools, which in this case is the linux-only compile flag for realms which brings the UI on Linux and Linux only.

Further, we already have UI for more generic 'tags' of routes -
communities. If we can re-use that, instead of adding
additional-but-similar UI to set a specific tag, that'd be nice. Plus,
communities can stick with the route. Indeed, routes might already
carry communities that reflect something that maps to a realm.

I just wonder why we can't re-use that community, and have a simpler
mapping operation to act when a route is sent from bgpd to zebra?
(Instead of adding commands to route-maps and elsewhere that implement
much of the same thing as communities)?

At a minimum the implementation issues in the proposed UI need to be
answered better (explained, or updated to fix the issues) though, I
think.

regards,

I am afraid I don't understand, because I am not common with the code - just ported the patch as it was initially written. Can you be more specific what issues and what can be done to fix them?



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

Reply via email to