summaryrefslogtreecommitdiff
path: root/nest/a-set.c
AgeCommit message (Collapse)Author
2022-06-27Filter: Implement for loopsOndrej Zajicek (work)
For loops allow to iterate over elements in compound data like BGP paths or community lists. The syntax is: for [ <type> ] <variable> in <expr> do <command-body>
2021-12-28Filter: Add operators to find minimum and maximum element of setsAlexander Zubkov
Add operators .min and .max to find minumum or maximum element in sets of types: clist, eclist, lclist. Example usage: bgp_community.min bgp_ext_community.max filter(bgp_large_community, [(as1, as2, *)]).min Signed-off-by: Alexander Zubkov <green@qrator.net>
2019-02-20Filter: Merged postfixify routineMaria Matejka
2019-02-20Filter: Merged filter line item dumpers into common generated sourceMaria Matejka
2019-02-20Filter refactoring: dropped the recursion from the interpreterMaria Matejka
This is a major change of how the filters are interpreted. If everything works how it should, it should not affect you unless you are hacking the filters themselves. Anyway, this change should make a huge improvement in the filter performance as previous benchmarks showed that our major problem lies in the recursion itself. There are also some changes in nest and protocols, related mostly to spreading const declarations throughout the whole BIRD and also to refactored dynamic attribute definitions. The need of these came up during the whole work and it is too difficult to split out these not-so-related changes.
2017-12-13BGP: Fix non-transitive ext communitiesOndrej Zajicek (work)
2017-02-08Merge branch 'master' into int-newOndrej Zajicek (work)
2016-12-07BGP redesignOndrej Zajicek (work)
Integrated and extensible BGP with generalized AFI handling, support for IPv4+IPv6 AFI and unicast+multicast SAFI.
2016-11-15BGP: Cluster list item should be prependedOndrej Zajicek (work)
Commit 3c09af41... changed behavior of int_set_add() from prepend to append, which makes more sense for community list, but prepend must be used for cluster list. Add int_set_prepend() and use it in cluster list handling code.
2016-10-13Clist: The add() function will append a new valuePavel Tvrdik
The add() function used to prepend a new community to clist, but after this fix the add() function appends new community.
2016-10-04Nest: Fix signedness of large communitiesOndrej Zajicek (work)
2016-10-03BGP: Support for large communitiesOndrej Zajicek (work)
Add support for large communities (draft-ietf-idr-large-community), 96bit alternative to RFC 1997 communities. Thanks to Matt Griswold for the original patch.
2015-06-08unsigned [int] -> uintPavel TvrdĂ­k
2012-03-15Extends set operations in filters.Ondrej Zajicek
Allows add/filter/delete clist on clist (set algebra on clists). Allows number ~ bgppath match.
2011-08-14BGP Extended communities.Ondrej Zajicek
2011-07-03Prints full community lists during 'show route all'.Ondrej Zajicek
2010-05-14Do not add community if it is already in clist.Ondrej Zajicek
2009-07-23Adds %R printf directive for Router ID.Ondrej Zajicek
2008-11-08Proper format functions for ORIGINATOR_ID, CLUSTER_LISTOndrej Zajicek
2008-10-26Implementation of route reflection for BGPOndrej Zajicek
2000-04-17The previous fix for spacing was (a) totally out of context, (b) wrong.Martin Mares
Please *read* the code when trying to change it. Also killed a couple of type clashes.
2000-04-17Put space between entries so they are separated.Pavel Machek
FIXME: should use format as in filters.
2000-04-17Int sets moved to core. It is now possible to have variable of type clist.Pavel Machek
2000-04-17Printing of AS paths and community sets.Martin Mares
2000-04-17Created nest/a-path.c and a-set.c which should contain general operationsMartin Mares
on AS paths and community sets. Moved as_path_prepend() there. Pavel, please move the other functions as well.