diff options
author | root <root@hestia.halldom.com> | 2010-07-28 01:04:21 +0100 |
---|---|---|
committer | root <root@hestia.halldom.com> | 2010-07-28 01:04:21 +0100 |
commit | 5992b25ebee1ef68a6f0c9aaa9c67f9f7e6d74e9 (patch) | |
tree | a519f97cadd30fbb8f9219e464a3be5c679f0356 /bgpd/bgp_route.h | |
parent | 0f1365093f448e9503b618a5097eb8d6433e7710 (diff) | |
download | quagga-5992b25ebee1ef68a6f0c9aaa9c67f9f7e6d74e9.tar.bz2 quagga-5992b25ebee1ef68a6f0c9aaa9c67f9f7e6d74e9.tar.xz |
Introduce "rs-in" route-map
All peers may be configured with an "rs-in" route-map, whether they
are rsclients, or not.
All routes from a given peer are passed through the "rs-in" route-map
before being considered for inclusion in any rsclients RIBs.
Routes pass through the "rs-in" route-map once, irrespective of the
number of rsclients.
An "rs-in" route-map is intended to be used to ensure that routes
from a given peer are kosher, before being passed to rsclients.
The "in" route-map and filters may do the same, but for the main RIB.
Any route-selection type actions that the "in" route-map may do for
the main RIB will probably be done in the "import" route-map for an
rsclient RIB.
Also:
* make zfree() work for NULL items, in lib/memory.c
* fix clear ip bgp .... so works when pEstablished
Version change to ex03.
Diffstat (limited to 'bgpd/bgp_route.h')
-rw-r--r-- | bgpd/bgp_route.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index e1e8f18d..0e082eed 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -152,18 +152,21 @@ struct bgp_static #define FILTER_LIST_OUT_NAME(F) ((F)->aslist[FILTER_OUT].name) #define FILTER_LIST_OUT_LIST(F) ((F)->aslist[FILTER_OUT].aslist) -#define ROUTE_MAP_IN_NAME(F) ((F)->map[RMAP_IN].name) -#define ROUTE_MAP_IN(F) ((F)->map[RMAP_IN].map) -#define ROUTE_MAP_OUT_NAME(F) ((F)->map[RMAP_OUT].name) -#define ROUTE_MAP_OUT(F) ((F)->map[RMAP_OUT].map) - -#define ROUTE_MAP_IMPORT_NAME(F) ((F)->map[RMAP_IMPORT].name) -#define ROUTE_MAP_IMPORT(F) ((F)->map[RMAP_IMPORT].map) -#define ROUTE_MAP_EXPORT_NAME(F) ((F)->map[RMAP_EXPORT].name) -#define ROUTE_MAP_EXPORT(F) ((F)->map[RMAP_EXPORT].map) - -#define UNSUPPRESS_MAP_NAME(F) ((F)->usmap.name) -#define UNSUPPRESS_MAP(F) ((F)->usmap.map) +#define ROUTE_MAP_IN_NAME(F) ((F)->map[RMAP_IN].name) +#define ROUTE_MAP_IN(F) ((F)->map[RMAP_IN].map) +#define ROUTE_MAP_OUT_NAME(F) ((F)->map[RMAP_OUT].name) +#define ROUTE_MAP_OUT(F) ((F)->map[RMAP_OUT].map) + +#define ROUTE_MAP_IMPORT_NAME(F) ((F)->map[RMAP_IMPORT].name) +#define ROUTE_MAP_IMPORT(F) ((F)->map[RMAP_IMPORT].map) +#define ROUTE_MAP_EXPORT_NAME(F) ((F)->map[RMAP_EXPORT].name) +#define ROUTE_MAP_EXPORT(F) ((F)->map[RMAP_EXPORT].map) + +#define ROUTE_MAP_RS_IN_NAME(F) ((F)->map[RMAP_RS_IN].name) +#define ROUTE_MAP_RS_IN(F) ((F)->map[RMAP_RS_IN].map) + +#define UNSUPPRESS_MAP_NAME(F) ((F)->usmap.name) +#define UNSUPPRESS_MAP(F) ((F)->usmap.map) enum bgp_clear_route_type { |