interval = interval
- secs_into_day % interval; /* always > 0 */
}
- bgp_dump->t_interval = NULL;
thread_add_timer(bm->master, bgp_dump_interval_func, bgp_dump,
interval, &bgp_dump->t_interval);
} else {
/* One-off dump: execute immediately, don't affect any scheduled
* dumps */
- bgp_dump->t_interval = NULL;
thread_add_event(bm->master, bgp_dump_interval_func, bgp_dump,
0, &bgp_dump->t_interval);
}
fflush(bgp_dump_routes.fp);
}
-static int bgp_addpath_encode_rx(struct peer *peer, afi_t afi, safi_t safi)
-{
-
- return (CHECK_FLAG(peer->af_cap[afi][safi], PEER_CAP_ADDPATH_AF_RX_ADV)
- && CHECK_FLAG(peer->af_cap[afi][safi],
- PEER_CAP_ADDPATH_AF_TX_RCV));
-}
-
static struct bgp_path_info *
bgp_dump_route_node_record(int afi, struct bgp_dest *dest,
struct bgp_path_info *path, unsigned int seq)
struct stream *obuf;
size_t sizep;
size_t endp;
- int addpath_encoded;
+ bool addpath_capable;
const struct prefix *p = bgp_dest_get_prefix(dest);
obuf = bgp_dump_obuf;
stream_reset(obuf);
- addpath_encoded = bgp_addpath_encode_rx(path->peer, afi, SAFI_UNICAST);
+ addpath_capable = bgp_addpath_encode_rx(path->peer, afi, SAFI_UNICAST);
/* MRT header */
- if (afi == AFI_IP && addpath_encoded)
+ if (afi == AFI_IP && addpath_capable)
bgp_dump_header(obuf, MSG_TABLE_DUMP_V2,
TABLE_DUMP_V2_RIB_IPV4_UNICAST_ADDPATH,
BGP_DUMP_ROUTES);
bgp_dump_header(obuf, MSG_TABLE_DUMP_V2,
TABLE_DUMP_V2_RIB_IPV4_UNICAST,
BGP_DUMP_ROUTES);
- else if (afi == AFI_IP6 && addpath_encoded)
+ else if (afi == AFI_IP6 && addpath_capable)
bgp_dump_header(obuf, MSG_TABLE_DUMP_V2,
TABLE_DUMP_V2_RIB_IPV6_UNICAST_ADDPATH,
BGP_DUMP_ROUTES);
stream_putl(obuf, time(NULL) - (bgp_clock() - path->uptime));
/*Path Identifier*/
- if (addpath_encoded) {
+ if (addpath_capable) {
stream_putl(obuf, path->addpath_rx_id);
}
{
struct bgp_dump *bgp_dump;
bgp_dump = THREAD_ARG(t);
- bgp_dump->t_interval = NULL;
/* Reschedule dump even if file couldn't be opened this time... */
if (bgp_dump_open_file(bgp_dump) != NULL) {
struct stream *packet)
{
struct stream *obuf;
- int addpath_encoded = 0;
+ bool addpath_capable = false;
/* If dump file pointer is disabled return immediately. */
if (bgp_dump->fp == NULL)
return;
if (peer->su.sa.sa_family == AF_INET) {
- addpath_encoded =
+ addpath_capable =
bgp_addpath_encode_rx(peer, AFI_IP, SAFI_UNICAST);
} else if (peer->su.sa.sa_family == AF_INET6) {
- addpath_encoded =
+ addpath_capable =
bgp_addpath_encode_rx(peer, AFI_IP6, SAFI_UNICAST);
}
stream_reset(obuf);
/* Dump header and common part. */
- if (CHECK_FLAG(peer->cap, PEER_CAP_AS4_RCV) && addpath_encoded) {
+ if (CHECK_FLAG(peer->cap, PEER_CAP_AS4_RCV) && addpath_capable) {
bgp_dump_header(obuf, MSG_PROTOCOL_BGP4MP,
BGP4MP_MESSAGE_AS4_ADDPATH, bgp_dump->type);
} else if (CHECK_FLAG(peer->cap, PEER_CAP_AS4_RCV)) {
bgp_dump_header(obuf, MSG_PROTOCOL_BGP4MP, BGP4MP_MESSAGE_AS4,
bgp_dump->type);
- } else if (addpath_encoded) {
+ } else if (addpath_capable) {
bgp_dump_header(obuf, MSG_PROTOCOL_BGP4MP,
BGP4MP_MESSAGE_ADDPATH, bgp_dump->type);
} else {