On 2015-09-08 17:04, Paul Jakma wrote:
On Tue, 8 Sep 2015, Kaloyan Kovachev wrote:
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 guess this is the problem: I don't understand why, if you're able to
match and set a realm, you couldn't similarly set a community?
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.
Yeah, and searching I've noticed there's been a 2nd patch proposed
(Chris Caputo once), independently. So at least some find it useful.
We can add Linux specific stuff, but ideally we map generic-UI onto
Linux-specific stuff, and do it at the lowest, most abstracted level
possible.
So this patch add Linux specific UI at quite a high level, in the
route-maps, neighbour commands. Route processing has to be modified to
suit in a number of places.
What I'm wondering is we can just use existing generic-tagging UI, and
have a limited re-mapping command, and a hook that applies at a
low-level in bgp_zebra.c::bgp_zebra_announce and just adds in the
realm as bgpd sends a best-rotue down to zebra?
That'd be easier to maintain.
I think I have finally understood what you mean.
We define some unused range (say AS:65000-AS:65254, but configured from
the admin in bgpd.conf) as 'realms range' and we can match on any other
community number or range and add another one from the range above,
which is then sent as 'realm' to zebra, right?
If so, yes that could work. It will be good to also have an easy way to
add a community value (or values) to a peer (routes received) without
route-map, but not sure if it will be possible.
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?
Well, I can perhaps send you suggestions to test.
regards,
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev