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