summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_route.h
diff options
context:
space:
mode:
authorroot <root@hestia.halldom.com>2010-07-28 01:04:21 +0100
committerroot <root@hestia.halldom.com>2010-07-28 01:04:21 +0100
commit5992b25ebee1ef68a6f0c9aaa9c67f9f7e6d74e9 (patch)
treea519f97cadd30fbb8f9219e464a3be5c679f0356 /bgpd/bgp_route.h
parent0f1365093f448e9503b618a5097eb8d6433e7710 (diff)
downloadquagga-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.h27
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
{