Age | Commit message (Collapse) | Author |
|
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>
|
|
|
|
|
|
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.
|
|
|
|
|
|
Integrated and extensible BGP with generalized AFI handling,
support for IPv4+IPv6 AFI and unicast+multicast SAFI.
|
|
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.
|
|
The add() function used to prepend a new community to clist, but after
this fix the add() function appends new community.
|
|
|
|
Add support for large communities (draft-ietf-idr-large-community),
96bit alternative to RFC 1997 communities.
Thanks to Matt Griswold for the original patch.
|
|
|
|
Allows add/filter/delete clist on clist (set algebra on clists).
Allows number ~ bgppath match.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Please *read* the code when trying to change it.
Also killed a couple of type clashes.
|
|
FIXME: should use format as in filters.
|
|
|
|
|
|
on AS paths and community sets.
Moved as_path_prepend() there.
Pavel, please move the other functions as well.
|