diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-09-27 22:57:55 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-12-12 14:46:24 +0100 |
commit | 682d3f7de0905ca2e853844734cce7ff65f7d77d (patch) | |
tree | e84ab31b4c5b7e99a283cf4c2faf2523dd5d884c /proto/bgp/config.Y | |
parent | 01fd00f5ed9298ab5829403cd7a8a9ba22bcc96a (diff) |
BGP: implement Adj-RIB-In
The patch implements optional internal import table to a channel and
hooks it to BGP so it can be used as Adj-RIB-In. When enabled, all
received (pre-filtered) routes are stored there and import filters can
be re-evaluated without explicit route refresh. An import table can be
examined using e.g. 'show route import table bgp1.ipv4'.
Diffstat (limited to 'proto/bgp/config.Y')
-rw-r--r-- | proto/bgp/config.Y | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/proto/bgp/config.Y b/proto/bgp/config.Y index 120b1e88..f155eee2 100644 --- a/proto/bgp/config.Y +++ b/proto/bgp/config.Y @@ -29,7 +29,7 @@ CF_KEYWORDS(BGP, LOCAL, NEIGHBOR, AS, HOLD, TIME, CONNECT, RETRY, KEEPALIVE, SECURITY, DETERMINISTIC, SECONDARY, ALLOW, BFD, ADD, PATHS, RX, TX, GRACEFUL, RESTART, AWARE, CHECK, LINK, PORT, EXTENDED, MESSAGES, SETKEY, STRICT, BIND, CONFEDERATION, MEMBER, MULTICAST, FLOW4, FLOW6, LONG, - LIVED, STALE) + LIVED, STALE, IMPORT) %type <i32> bgp_afi @@ -229,6 +229,7 @@ bgp_channel_item: | ADD PATHS RX { BGP_CC->add_path = BGP_ADD_PATH_RX; } | ADD PATHS TX { BGP_CC->add_path = BGP_ADD_PATH_TX; } | ADD PATHS bool { BGP_CC->add_path = $3 ? BGP_ADD_PATH_FULL : 0; } + | IMPORT TABLE bool { BGP_CC->import_table = $3; } | IGP TABLE rtable { if (BGP_CC->desc->no_igp) cf_error("IGP table not allowed here"); |