From 863ecfc78538657e51f1ec67441aec32261aa405 Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Tue, 20 Nov 2018 17:38:19 +0100 Subject: The MRT protocol The new MRT protocol is responsible for periodic RIB table dumps in the MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is refactored and splitted between BGP to MRT protocols, will be more integrated into MRT in the future. Example: protocol mrt { table "*"; filename "%N_%F_%T.mrt"; period 60; } It is partially based on the old MRT code from Pavel Tvrdik. --- proto/bgp/bgp.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'proto/bgp/bgp.h') diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h index 6f0a5587..2729780c 100644 --- a/proto/bgp/bgp.h +++ b/proto/bgp/bgp.h @@ -266,6 +266,7 @@ struct bgp_proto { u8 llgr_ready; /* Neighbor could do Long-lived GR, implies gr_ready */ u8 gr_active_num; /* Neighbor is doing GR, number of active channels */ u8 channel_count; /* Number of active channels */ + u8 summary_add_path_rx; /* Summary state of ADD_PATH RX w.r.t active channels */ u32 *afi_map; /* Map channel index -> AFI */ struct bgp_channel **channel_map; /* Map channel index -> channel */ struct bgp_conn *conn; /* Connection we have established */ @@ -361,6 +362,7 @@ struct bgp_write_state { struct bgp_channel *channel; struct linpool *pool; + int mp_reach; int as4_session; int add_path; int mpls; @@ -538,7 +540,7 @@ void bgp_get_route_info(struct rte *, byte *buf); /* packets.c */ -void mrt_dump_bgp_state_change(struct bgp_conn *conn, unsigned old, unsigned new); +void bgp_dump_state_change(struct bgp_conn *conn, uint old, uint new); const struct bgp_af_desc *bgp_get_af_desc(u32 afi); const struct bgp_af_caps *bgp_find_af_caps(struct bgp_caps *caps, u32 afi); void bgp_schedule_packet(struct bgp_conn *conn, struct bgp_channel *c, int type); -- cgit v1.2.3