feature request: extend clist operations with pair sets
Henrique de Moraes Holschuh
hmh at hmh.eng.br
Fri Apr 13 22:00:40 CEST 2012
On Fri, 13 Apr 2012, Oleg wrote:
> > function add_community(pair set peer_community)
> > {
> > bgp_community.add(peer_community); # doesnt work,
> > incompatible types
> > return true;
> > }
...
> Not directly like this. But if you have few known communites, you can do
> next hardcode:
>
> function add_community(pair set comm)
> {
> if ( (123,555) ~ comm ) then
> bgp_community.add((123,555));
> if ( (123,666) ~ comm ) then
> bgp_community.add((123,666));
> if ( (123,777) ~ comm ) then
> bgp_community.add((123,777));
> if ( (123,888) ~ comm ) then
> bgp_community.add((123,888));
> }
>
> This is ugly, but if you have little count of communities this is not annoying
> solution.
Well, we cannot have clist literals, only pair set literals. That makes
this limitation of clist operations rather unfortunate.
Can BIRD be extended to allow operating on clists using pair sets?
I.e. clist.add(pair set), clist.delete(pair set)...
commit 0888a737b045b48106edbd28ba3cd62fcc8c191e, "Extends set operations
in filters." did add the relevant clist to clist operations, but pair
sets were still left unimplemented...
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
More information about the Bird-users
mailing list