diff options
Diffstat (limited to 'bgpd/rfapi')
| -rw-r--r-- | bgpd/rfapi/bgp_rfapi_cfg.c | 32 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi.c | 46 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_import.c | 79 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_monitor.c | 54 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_rib.c | 73 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_vty.c | 19 | ||||
| -rw-r--r-- | bgpd/rfapi/vnc_export_bgp.c | 31 | ||||
| -rw-r--r-- | bgpd/rfapi/vnc_import_bgp.c | 152 | ||||
| -rw-r--r-- | bgpd/rfapi/vnc_zebra.c | 20 |
9 files changed, 146 insertions, 360 deletions
diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c index 2bcef97fc3..88c92f7954 100644 --- a/bgpd/rfapi/bgp_rfapi_cfg.c +++ b/bgpd/rfapi/bgp_rfapi_cfg.c @@ -170,14 +170,8 @@ struct rfapi_nve_group_cfg *bgp_rfapi_cfg_match_group(struct rfapi_cfg *hc, #ifdef BGP_VNC_DEBUG_MATCH_GROUP { - char buf[PREFIX_STRLEN]; - - prefix2str(vn, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s: vn prefix: %s", __func__, buf); - - prefix2str(un, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s: un prefix: %s", __func__, buf); - + vnc_zlog_debug_verbose("%s: vn prefix: %pFX", __func__, vn); + vnc_zlog_debug_verbose("%s: un prefix: %pFX", __func__, un); vnc_zlog_debug_verbose( "%s: rn_vn=%p, rn_un=%p, rfg_vn=%p, rfg_un=%p", __func__, rn_vn, rn_un, rfg_vn, rfg_un); @@ -4215,23 +4209,13 @@ int bgp_rfapi_cfg_write(struct vty *vty, struct bgp *bgp) ++write; vty_out(vty, " vnc nve-group %s\n", rfg->name); - if (rfg->vn_prefix.family && rfg->vn_node) { - char buf[PREFIX_STRLEN]; + if (rfg->vn_prefix.family && rfg->vn_node) + vty_out(vty, " prefix %s %pFX\n", "vn", + &rfg->vn_prefix); - prefix2str(&rfg->vn_prefix, buf, - sizeof(buf)); - vty_out(vty, " prefix %s %s\n", "vn", - buf); - } - - if (rfg->un_prefix.family && rfg->un_node) { - char buf[PREFIX_STRLEN]; - - prefix2str(&rfg->un_prefix, buf, - sizeof(buf)); - vty_out(vty, " prefix %s %s\n", "un", - buf); - } + if (rfg->un_prefix.family && rfg->un_node) + vty_out(vty, " prefix %s %pFX\n", "un", + &rfg->un_prefix); if (rfg->rd.prefixlen) { diff --git a/bgpd/rfapi/rfapi.c b/bgpd/rfapi/rfapi.c index 0ff4b2c825..2d81a6ce65 100644 --- a/bgpd/rfapi/rfapi.c +++ b/bgpd/rfapi/rfapi.c @@ -362,12 +362,9 @@ void del_vnc_route(struct rfapi_descriptor *rfd, afi_t afi; /* of the VN address */ struct bgp_dest *bn; struct bgp_path_info *bpi; - char buf[PREFIX_STRLEN]; char buf2[RD_ADDRSTRLEN]; struct prefix_rd prd0; - prefix2str(p, buf, sizeof(buf)); - afi = family2afi(p->family); assert(afi == AFI_IP || afi == AFI_IP6); @@ -380,9 +377,9 @@ void del_vnc_route(struct rfapi_descriptor *rfd, bn = bgp_afi_node_get(bgp->rib[afi][safi], afi, safi, p, prd); vnc_zlog_debug_verbose( - "%s: peer=%p, prefix=%s, prd=%s afi=%d, safi=%d bn=%p, bn->info=%p", - __func__, peer, buf, prefix_rd2str(prd, buf2, sizeof(buf2)), - afi, safi, bn, (bn ? bgp_dest_get_bgp_path_info(bn) : NULL)); + "%s: peer=%p, prefix=%pFX, prd=%s afi=%d, safi=%d bn=%p, bn->info=%p", + __func__, peer, p, prefix_rd2str(prd, buf2, sizeof(buf2)), afi, + safi, bn, (bn ? bgp_dest_get_bgp_path_info(bn) : NULL)); for (bpi = (bn ? bgp_dest_get_bgp_path_info(bn) : NULL); bpi; bpi = bpi->next) { @@ -418,8 +415,8 @@ void del_vnc_route(struct rfapi_descriptor *rfd, * no local nexthops */ vnc_zlog_debug_verbose( - "%s: lnh list already empty at prefix %s", - __func__, buf); + "%s: lnh list already empty at prefix %pFX", + __func__, p); goto done; } @@ -445,8 +442,8 @@ void del_vnc_route(struct rfapi_descriptor *rfd, * list->del on data */ rfapi_nexthop_free(pLnh); } else { - vnc_zlog_debug_verbose("%s: desired lnh not found %s", - __func__, buf); + vnc_zlog_debug_verbose("%s: desired lnh not found %pFX", + __func__, p); } goto done; } @@ -459,10 +456,9 @@ void del_vnc_route(struct rfapi_descriptor *rfd, rfapiProcessWithdraw(peer, rfd, p, prd, NULL, afi, safi, type, kill); if (bpi) { - prefix2str(p, buf, sizeof(buf)); vnc_zlog_debug_verbose( - "%s: Found route (safi=%d) to delete at prefix %s", - __func__, safi, buf); + "%s: Found route (safi=%d) to delete at prefix %pFX", + __func__, safi, p); if (safi == SAFI_MPLS_VPN) { struct bgp_dest *pdest = NULL; @@ -488,8 +484,8 @@ void del_vnc_route(struct rfapi_descriptor *rfd, bgp_process(bgp, bn, afi, safi); } else { vnc_zlog_debug_verbose( - "%s: Couldn't find route (safi=%d) at prefix %s", - __func__, safi, buf); + "%s: Couldn't find route (safi=%d) at prefix %pFX", + __func__, safi, p); } done: bgp_dest_unlock_node(bn); @@ -1577,12 +1573,10 @@ rfapi_query_inner(void *handle, struct rfapi_ip_addr *target, } { - char buf[PREFIX_STRLEN]; char *s; - prefix2str(&p, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s(rfd=%p, target=%s, ppNextHop=%p)", - __func__, rfd, buf, ppNextHopEntry); + vnc_zlog_debug_verbose("%s(rfd=%p, target=%pFX, ppNextHop=%p)", + __func__, rfd, &p, ppNextHopEntry); s = ecommunity_ecom2str(rfd->import_table->rt_import_list, ECOMMUNITY_FORMAT_ROUTE_MAP, 0); @@ -2397,16 +2391,10 @@ int rfapi_register(void *handle, struct rfapi_ip_prefix *prefix, afi = family2afi(prefix->prefix.addr_family); assert(afi); - - { - char buf[PREFIX_STRLEN]; - - prefix2str(&p, buf, sizeof(buf)); - vnc_zlog_debug_verbose( - "%s(rfd=%p, pfx=%s, lifetime=%d, opts_un=%p, opts_vn=%p, action=%s)", - __func__, rfd, buf, lifetime, options_un, options_vn, - action_str); - } + vnc_zlog_debug_verbose( + "%s(rfd=%p, pfx=%pFX, lifetime=%d, opts_un=%p, opts_vn=%p, action=%s)", + __func__, rfd, &p, lifetime, options_un, options_vn, + action_str); /* * These tests come after the prefix conversion so that we can diff --git a/bgpd/rfapi/rfapi_import.c b/bgpd/rfapi/rfapi_import.c index 1e8a381e2d..e3581addee 100644 --- a/bgpd/rfapi/rfapi_import.c +++ b/bgpd/rfapi/rfapi_import.c @@ -612,11 +612,8 @@ rfapiMonitorMoveShorter(struct agg_node *original_vpn_node, int lockoffset) #ifdef DEBUG_MONITOR_MOVE_SHORTER { - char buf[PREFIX_STRLEN]; - - prefix2str(&original_vpn_node->p, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s: called with node pfx=%s", __func__, - buf); + vnc_zlog_debug_verbose("%s: called with node pfx=%pFX", + __func__, &original_vpn_node->p); } #endif @@ -751,11 +748,8 @@ rfapiMonitorMoveShorter(struct agg_node *original_vpn_node, int lockoffset) #ifdef DEBUG_MONITOR_MOVE_SHORTER { - char buf[PREFIX_STRLEN]; - - prefix2str(&par->p, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s: moved to node pfx=%s", __func__, - buf); + vnc_zlog_debug_verbose("%s: moved to node pfx=%pFX", __func__, + &par->p); } #endif @@ -864,9 +858,9 @@ static void rfapiBgpInfoChainFree(struct bgp_path_info *bpi) if (CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED) && bpi->extra->vnc.import.timer) { - struct thread *t = - (struct thread *)bpi->extra->vnc.import.timer; - struct rfapi_withdraw *wcb = t->arg; + struct thread **t = + &(bpi->extra->vnc.import.timer); + struct rfapi_withdraw *wcb = (*t)->arg; XFREE(MTYPE_RFAPI_WITHDRAW, wcb); thread_cancel(t); @@ -1556,12 +1550,9 @@ static int rfapiNhlAddNodeRoutes( } if (!skiplist_search(seen_nexthops, &pfx_vn, NULL)) { #ifdef DEBUG_RETURNED_NHL - char buf[PREFIX_STRLEN]; - - prefix2str(&pfx_vn, buf, sizeof(buf)); vnc_zlog_debug_verbose( - "%s: already put VN/nexthop %s, skip", __func__, - buf); + "%s: already put VN/nexthop %pFX, skip", + __func__, &pfx_vn); #endif continue; } @@ -3102,10 +3093,9 @@ static void rfapiBgpInfoFilteredImportEncap( if (CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED) && bpi->extra->vnc.import.timer) { - struct thread *t = - (struct thread *)bpi->extra->vnc - .import.timer; - struct rfapi_withdraw *wcb = t->arg; + struct thread **t = + &(bpi->extra->vnc.import.timer); + struct rfapi_withdraw *wcb = (*t)->arg; XFREE(MTYPE_RFAPI_WITHDRAW, wcb); thread_cancel(t); @@ -3195,9 +3185,9 @@ static void rfapiBgpInfoFilteredImportEncap( "%s: removing holddown bpi matching NVE of new route", __func__); if (bpi->extra->vnc.import.timer) { - struct thread *t = - (struct thread *)bpi->extra->vnc.import.timer; - struct rfapi_withdraw *wcb = t->arg; + struct thread **t = + &(bpi->extra->vnc.import.timer); + struct rfapi_withdraw *wcb = (*t)->arg; XFREE(MTYPE_RFAPI_WITHDRAW, wcb); thread_cancel(t); @@ -3558,10 +3548,9 @@ void rfapiBgpInfoFilteredImportVPN( if (CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED) && bpi->extra->vnc.import.timer) { - struct thread *t = - (struct thread *)bpi->extra->vnc - .import.timer; - struct rfapi_withdraw *wcb = t->arg; + struct thread **t = + &(bpi->extra->vnc.import.timer); + struct rfapi_withdraw *wcb = (*t)->arg; XFREE(MTYPE_RFAPI_WITHDRAW, wcb); thread_cancel(t); @@ -3634,12 +3623,9 @@ void rfapiBgpInfoFilteredImportVPN( rfapiCopyUnEncap2VPN(ern->info, info_new); agg_unlock_node(ern); /* undo lock in route_note_match */ } else { - char bpf[PREFIX_STRLEN]; - - prefix2str(&vn_prefix, bpf, sizeof(bpf)); /* Not a big deal, just means VPN route got here first */ - vnc_zlog_debug_verbose("%s: no encap route for vn addr %s", - __func__, bpf); + vnc_zlog_debug_verbose("%s: no encap route for vn addr %pFX", + __func__, &vn_prefix); info_new->extra->vnc.import.un_family = 0; } @@ -3780,9 +3766,9 @@ void rfapiBgpInfoFilteredImportVPN( "%s: removing holddown bpi matching NVE of new route", __func__); if (bpi->extra->vnc.import.timer) { - struct thread *t = - (struct thread *)bpi->extra->vnc.import.timer; - struct rfapi_withdraw *wcb = t->arg; + struct thread **t = + &(bpi->extra->vnc.import.timer); + struct rfapi_withdraw *wcb = (*t)->arg; XFREE(MTYPE_RFAPI_WITHDRAW, wcb); thread_cancel(t); @@ -4441,13 +4427,9 @@ static void rfapiDeleteRemotePrefixesIt( struct bgp_path_info *next; const struct prefix *rn_p = agg_node_get_prefix(rn); - if (p && VNC_DEBUG(IMPORT_DEL_REMOTE)) { - char p1line[PREFIX_STRLEN]; - - prefix2str(p, p1line, sizeof(p1line)); - vnc_zlog_debug_any("%s: want %s, have %pRN", - __func__, p1line, rn); - } + if (p && VNC_DEBUG(IMPORT_DEL_REMOTE)) + vnc_zlog_debug_any("%s: want %pFX, have %pRN", + __func__, p, rn); if (p && prefix_cmp(p, rn_p)) continue; @@ -4514,12 +4496,11 @@ static void rfapiDeleteRemotePrefixesIt( continue; if (bpi->extra->vnc.import.timer) { - struct thread *t = - (struct thread *)bpi - ->extra->vnc - .import.timer; + struct thread **t = + &(bpi->extra->vnc + .import.timer); struct rfapi_withdraw *wcb = - t->arg; + (*t)->arg; wcb->import_table ->holddown_count[afi] -= diff --git a/bgpd/rfapi/rfapi_monitor.c b/bgpd/rfapi/rfapi_monitor.c index cd26892b84..ce916c104b 100644 --- a/bgpd/rfapi/rfapi_monitor.c +++ b/bgpd/rfapi/rfapi_monitor.c @@ -620,10 +620,7 @@ void rfapiMonitorDel(struct bgp *bgp, struct rfapi_descriptor *rfd, rfapiMonitorDetachImport(m); } - if (m->timer) { - thread_cancel(m->timer); - m->timer = NULL; - } + thread_cancel(&m->timer); /* * remove from rfd list @@ -660,10 +657,7 @@ int rfapiMonitorDelHd(struct rfapi_descriptor *rfd) rfapiMonitorDetachImport(m); } - if (m->timer) { - thread_cancel(m->timer); - m->timer = NULL; - } + thread_cancel(&m->timer); XFREE(MTYPE_RFAPI_MONITOR, m); rn->info = NULL; @@ -697,10 +691,7 @@ int rfapiMonitorDelHd(struct rfapi_descriptor *rfd) #endif } - if (mon_eth->timer) { - thread_cancel(mon_eth->timer); - mon_eth->timer = NULL; - } + thread_cancel(&mon_eth->timer); /* * remove from rfd list @@ -766,8 +757,7 @@ static void rfapiMonitorTimerRestart(struct rfapi_monitor_vpn *m) if (m->rfd->response_lifetime - remain < 2) return; - thread_cancel(m->timer); - m->timer = NULL; + thread_cancel(&m->timer); } { @@ -846,9 +836,6 @@ void rfapiMonitorItNodeChanged( struct bgp *bgp = bgp_get_default(); const struct prefix *p = agg_node_get_prefix(rn); afi_t afi = family2afi(p->family); -#if DEBUG_L2_EXTRA - char buf_prefix[PREFIX_STRLEN]; -#endif assert(bgp); assert(import_table); @@ -856,9 +843,8 @@ void rfapiMonitorItNodeChanged( nves_seen = skiplist_new(0, NULL, NULL); #if DEBUG_L2_EXTRA - prefix2str(&it_node->p, buf_prefix, sizeof(buf_prefix)); - vnc_zlog_debug_verbose("%s: it=%p, it_node=%p, it_node->prefix=%s", - __func__, import_table, it_node, buf_prefix); + vnc_zlog_debug_verbose("%s: it=%p, it_node=%p, it_node->prefix=%pFX", + __func__, import_table, it_node, &it_node->p); #endif if (AFI_L2VPN == afi) { @@ -934,14 +920,10 @@ void rfapiMonitorItNodeChanged( assert(!skiplist_insert(nves_seen, m->rfd, NULL)); - char buf_target_pfx[PREFIX_STRLEN]; - - prefix2str(&m->p, buf_target_pfx, - sizeof(buf_target_pfx)); vnc_zlog_debug_verbose( - "%s: update rfd %p attached to pfx %pRN (targ=%s)", + "%s: update rfd %p attached to pfx %pRN (targ=%pFX)", __func__, m->rfd, m->node, - buf_target_pfx); + &m->p); /* * update its RIB @@ -1086,8 +1068,7 @@ static void rfapiMonitorEthTimerRestart(struct rfapi_monitor_eth *m) if (m->rfd->response_lifetime - remain < 2) return; - thread_cancel(m->timer); - m->timer = NULL; + thread_cancel(&m->timer); } { @@ -1269,21 +1250,15 @@ static void rfapiMonitorEthDetachImport( rn = agg_node_get(it->imported_vpn[AFI_L2VPN], &pfx_mac_buf); assert(rn); -#if DEBUG_L2_EXTRA - char buf_prefix[PREFIX_STRLEN]; - - prefix2str(agg_node_get_prefix(rn), buf_prefix, sizeof(buf_prefix)); -#endif - /* * Get sl to detach from */ sl = RFAPI_MONITOR_ETH(rn); #if DEBUG_L2_EXTRA vnc_zlog_debug_verbose( - "%s: it=%p, rn=%p, rn->lock=%d, sl=%p, pfx=%s, LNI=%d, detaching eth mon %p", - __func__, it, rn, rn->lock, sl, buf_prefix, mon->logical_net_id, - mon); + "%s: it=%p, rn=%p, rn->lock=%d, sl=%p, pfx=%pFX, LNI=%d, detaching eth mon %p", + __func__, it, rn, rn->lock, sl, agg_node_get_prefix(rn), + mon->logical_net_id, mon); #endif assert(sl); @@ -1432,10 +1407,7 @@ void rfapiMonitorEthDel(struct bgp *bgp, struct rfapi_descriptor *rfd, rfapiMonitorEthDetachImport(bgp, val); } - if (val->timer) { - thread_cancel(val->timer); - val->timer = NULL; - } + thread_cancel(&val->timer); /* * remove from rfd list diff --git a/bgpd/rfapi/rfapi_rib.c b/bgpd/rfapi/rfapi_rib.c index 8109e7e3d7..630a379ec2 100644 --- a/bgpd/rfapi/rfapi_rib.c +++ b/bgpd/rfapi/rfapi_rib.c @@ -269,9 +269,8 @@ static void rfapi_info_free(struct rfapi_info *goner) struct rfapi_rib_tcb *tcb; tcb = goner->timer->arg; - thread_cancel(goner->timer); + thread_cancel(&goner->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); - goner->timer = NULL; } XFREE(MTYPE_RFAPI_INFO, goner); } @@ -338,13 +337,11 @@ static void rfapiRibStartTimer(struct rfapi_descriptor *rfd, struct agg_node *rn, /* route node attached to */ int deleted) { - struct thread *t = ri->timer; struct rfapi_rib_tcb *tcb = NULL; - if (t) { - tcb = t->arg; - thread_cancel(t); - ri->timer = NULL; + if (ri->timer) { + tcb = ri->timer->arg; + thread_cancel(&ri->timer); } else { tcb = XCALLOC(MTYPE_RFAPI_RECENT_DELETE, sizeof(struct rfapi_rib_tcb)); @@ -907,10 +904,6 @@ static void process_pending_node(struct bgp *bgp, struct rfapi_descriptor *rfd, delete_list = list_new(); while (0 == skiplist_first(slRibPt, NULL, (void **)&ri)) { - - char buf[PREFIX_STRLEN]; - char buf2[PREFIX_STRLEN]; - listnode_add(delete_list, ri); vnc_zlog_debug_verbose( "%s: after listnode_add, delete_list->count=%d", @@ -921,18 +914,15 @@ static void process_pending_node(struct bgp *bgp, struct rfapi_descriptor *rfd, if (ri->timer) { struct rfapi_rib_tcb *tcb; - tcb = ((struct thread *)ri->timer)->arg; - thread_cancel(ri->timer); + tcb = ri->timer->arg; + thread_cancel(&ri->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); - ri->timer = NULL; } - prefix2str(&ri->rk.vn, buf, sizeof(buf)); - prefix2str(&ri->un, buf2, sizeof(buf2)); vnc_zlog_debug_verbose( - "%s: put dl pfx=%pRN vn=%s un=%s cost=%d life=%d vn_options=%p", - __func__, pn, buf, buf2, ri->cost, - ri->lifetime, ri->vn_options); + "%s: put dl pfx=%pRN vn=%pFX un=%pFX cost=%d life=%d vn_options=%p", + __func__, pn, &ri->rk.vn, &ri->un, + ri->cost, ri->lifetime, ri->vn_options); skiplist_delete_first(slRibPt); } @@ -1009,11 +999,9 @@ static void process_pending_node(struct bgp *bgp, struct rfapi_descriptor *rfd, if (ori->timer) { struct rfapi_rib_tcb *tcb; - tcb = ((struct thread *)ori->timer) - ->arg; - thread_cancel(ori->timer); + tcb = ori->timer->arg; + thread_cancel(&ori->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); - ori->timer = NULL; } #if DEBUG_PROCESS_PENDING_NODE @@ -1357,11 +1345,9 @@ callback: if (ri->timer) { struct rfapi_rib_tcb *tcb; - tcb = ((struct thread *)ri->timer)->arg; - thread_cancel( - (struct thread *)ri->timer); + tcb = ri->timer->arg; + thread_cancel(&ri->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); - ri->timer = NULL; } RFAPI_RIB_CHECK_COUNTS(0, delete_list->count); @@ -1589,7 +1575,6 @@ void rfapiRibUpdatePendingNode( afi_t afi; uint32_t queued_flag; int count = 0; - char buf[PREFIX_STRLEN]; vnc_zlog_debug_verbose("%s: entry", __func__); @@ -1602,8 +1587,7 @@ void rfapiRibUpdatePendingNode( prefix = agg_node_get_prefix(it_node); afi = family2afi(prefix->family); - prefix2str(prefix, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s: prefix=%s", __func__, buf); + vnc_zlog_debug_verbose("%s: prefix=%pFX", __func__, prefix); pn = agg_node_get(rfd->rib_pending[afi], prefix); assert(pn); @@ -1809,11 +1793,8 @@ int rfapiRibFTDFilterRecentPrefix( #ifdef DEBUG_FTD_FILTER_RECENT { - char buf_pfx[PREFIX_STRLEN]; - - prefix2str(agg_node_get_prefix(it_rn), buf_pfx, - sizeof(buf_pfx)); - vnc_zlog_debug_verbose("%s: prefix %s", __func__, buf_pfx); + vnc_zlog_debug_verbose("%s: prefix %pFX", __func__, + agg_node_get_prefix(it_rn)); } #endif @@ -1974,21 +1955,18 @@ rfapiRibPreload(struct bgp *bgp, struct rfapi_descriptor *rfd, #if DEBUG_NHL { - char str_vn[PREFIX_STRLEN]; char str_aux_prefix[PREFIX_STRLEN]; - str_vn[0] = 0; str_aux_prefix[0] = 0; - prefix2str(&rk.vn, str_vn, sizeof(str_vn)); prefix2str(&rk.aux_prefix, str_aux_prefix, sizeof(str_aux_prefix)); if (!rk.aux_prefix.family) { } vnc_zlog_debug_verbose( - "%s: rk.vn=%s rk.aux_prefix=%s", __func__, - str_vn, + "%s: rk.vn=%pFX rk.aux_prefix=%s", __func__, + &rk.vn, (rk.aux_prefix.family ? str_aux_prefix : "-")); } vnc_zlog_debug_verbose( @@ -2072,17 +2050,10 @@ rfapiRibPreload(struct bgp *bgp, struct rfapi_descriptor *rfd, if (agg_node_get_lock_count(trn) > 1) agg_unlock_node(trn); - { - char str_pfx[PREFIX_STRLEN]; - char str_pfx_vn[PREFIX_STRLEN]; - - prefix2str(&pfx, str_pfx, sizeof(str_pfx)); - prefix2str(&rk.vn, str_pfx_vn, sizeof(str_pfx_vn)); - vnc_zlog_debug_verbose( - "%s: added pfx=%s nh[vn]=%s, cost=%u, lifetime=%u, allowed=%d", - __func__, str_pfx, str_pfx_vn, nhp->prefix.cost, - nhp->lifetime, allowed); - } + vnc_zlog_debug_verbose( + "%s: added pfx=%pFX nh[vn]=%pFX, cost=%u, lifetime=%u, allowed=%d", + __func__, &pfx, &rk.vn, nhp->prefix.cost, nhp->lifetime, + allowed); if (allowed) { if (tail) diff --git a/bgpd/rfapi/rfapi_vty.c b/bgpd/rfapi/rfapi_vty.c index 850e8325c9..b9a6c4ddc4 100644 --- a/bgpd/rfapi/rfapi_vty.c +++ b/bgpd/rfapi/rfapi_vty.c @@ -1596,7 +1596,6 @@ void rfapiPrintDescriptor(struct vty *vty, struct rfapi_descriptor *rfd) int rc; afi_t afi; struct rfapi_adb *adb; - char buf[PREFIX_STRLEN]; vty_out(vty, "%-10p ", rfd); rfapiPrintRfapiIpAddr(vty, &rfd->un_addr); @@ -1648,9 +1647,8 @@ void rfapiPrintDescriptor(struct vty *vty, struct rfapi_descriptor *rfd) if (family != adb->u.s.prefix_ip.family) continue; - prefix2str(&adb->u.s.prefix_ip, buf, sizeof(buf)); - - vty_out(vty, " Adv Pfx: %s%s", buf, HVTYNL); + vty_out(vty, " Adv Pfx: %pFX%s", &adb->u.s.prefix_ip, + HVTYNL); rfapiPrintAdvertisedInfo(vty, rfd, SAFI_MPLS_VPN, &adb->u.s.prefix_ip); } @@ -1659,10 +1657,7 @@ void rfapiPrintDescriptor(struct vty *vty, struct rfapi_descriptor *rfd) (void **)&adb, &cursor); rc == 0; rc = skiplist_next(rfd->advertised.ip0_by_ether, NULL, (void **)&adb, &cursor)) { - - prefix2str(&adb->u.s.prefix_eth, buf, sizeof(buf)); - - vty_out(vty, " Adv Pfx: %s%s", buf, HVTYNL); + vty_out(vty, " Adv Pfx: %pFX%s", &adb->u.s.prefix_eth, HVTYNL); /* TBD update the following function to print ethernet info */ /* Also need to pass/use rd */ @@ -1863,11 +1858,9 @@ void rfapiPrintNhl(void *stream, struct rfapi_next_hop_entry *next_hops) break; case RFAPI_VN_OPTION_TYPE_LOCAL_NEXTHOP: - prefix2str(&vo->v.local_nexthop.addr, - pbuf, sizeof(pbuf)); - fp(out, "%sLNH %s cost=%d%s", offset, - pbuf, vo->v.local_nexthop.cost, - HVTYNL); + fp(out, "%sLNH %pFX cost=%d%s", offset, + &vo->v.local_nexthop.addr, + vo->v.local_nexthop.cost, HVTYNL); break; default: diff --git a/bgpd/rfapi/vnc_export_bgp.c b/bgpd/rfapi/vnc_export_bgp.c index b56261669c..11f39b2b82 100644 --- a/bgpd/rfapi/vnc_export_bgp.c +++ b/bgpd/rfapi/vnc_export_bgp.c @@ -1711,14 +1711,11 @@ void vnc_direct_bgp_rh_add_route(struct bgp *bgp, afi_t afi, rfapiGetVncLifetime(attr, &eti->lifetime); eti->lifetime = rfapiGetHolddownFromLifetime(eti->lifetime); - if (eti->timer) { - /* - * export expiration timer is already running on - * this route: cancel it - */ - thread_cancel(eti->timer); - eti->timer = NULL; - } + /* + * export expiration timer is already running on + * this route: cancel it + */ + thread_cancel(&eti->timer); bgp_update(peer, prefix, /* prefix */ 0, /* addpath_id */ @@ -1947,15 +1944,12 @@ void vnc_direct_bgp_rh_vpn_enable(struct bgp *bgp, afi_t afi) rfapiGetVncLifetime(ri->attr, &eti->lifetime); - if (eti->timer) { - /* - * export expiration timer is - * already running on - * this route: cancel it - */ - thread_cancel(eti->timer); - eti->timer = NULL; - } + /* + * export expiration timer is + * already running on + * this route: cancel it + */ + thread_cancel(&eti->timer); vnc_zlog_debug_verbose( "%s: calling bgp_update", @@ -2024,8 +2018,7 @@ void vnc_direct_bgp_rh_vpn_disable(struct bgp *bgp, afi_t afi) ZEBRA_ROUTE_VNC_DIRECT_RH, BGP_ROUTE_REDISTRIBUTE); if (eti) { - if (eti->timer) - thread_cancel(eti->timer); + thread_cancel(&eti->timer); vnc_eti_delete(eti); } diff --git a/bgpd/rfapi/vnc_import_bgp.c b/bgpd/rfapi/vnc_import_bgp.c index 85d64b5a72..0b6b39b966 100644 --- a/bgpd/rfapi/vnc_import_bgp.c +++ b/bgpd/rfapi/vnc_import_bgp.c @@ -206,19 +206,11 @@ static void print_rhn_list(const char *tag1, const char *tag2) /* XXX uses secret knowledge of skiplist structure */ for (p = sl->header->forward[0]; p; p = p->forward[0]) { - char kbuf[PREFIX_STRLEN]; - char hbuf[PREFIX_STRLEN]; - char ubuf[PREFIX_STRLEN]; - pb = p->value; - prefix2str(p->key, kbuf, sizeof(kbuf)); - prefix2str(&pb->hpfx, hbuf, sizeof(hbuf)); - prefix2str(&pb->upfx, ubuf, sizeof(ubuf)); - vnc_zlog_debug_verbose( - "RHN Entry %d (q=%p): kpfx=%s, upfx=%s, hpfx=%s, ubpi=%p", - ++count, p, kbuf, ubuf, hbuf, pb->ubpi); + "RHN Entry %d (q=%p): kpfx=%pFX, upfx=%pFX, hpfx=%pFX, ubpi=%p", + ++count, p, p->key, &pb->upfx, &pb->hpfx, pb->ubpi); } } #endif @@ -260,15 +252,9 @@ static void vnc_rhnck(char *tag) * pfx */ assert(!vnc_prefix_cmp(&pb->hpfx, pkey)); if (vnc_prefix_cmp(&pb->hpfx, &pfx_orig_nexthop)) { - char str_onh[PREFIX_STRLEN]; - char str_nve_pfx[PREFIX_STRLEN]; - - prefix2str(&pfx_orig_nexthop, str_onh, sizeof(str_onh)); - prefix2str(&pb->hpfx, str_nve_pfx, sizeof(str_nve_pfx)); - vnc_zlog_debug_verbose( - "%s: %s: FATAL: resolve_nve_nexthop list item bpi nexthop %s != nve pfx %s", - __func__, tag, str_onh, str_nve_pfx); + "%s: %s: FATAL: resolve_nve_nexthop list item bpi nexthop %pFX != nve pfx %pFX", + __func__, tag, &pfx_orig_nexthop, &pb->hpfx); assert(0); } } @@ -529,13 +515,7 @@ static void vnc_import_bgp_add_route_mode_resolve_nve_one_rd( if (!table_rd) return; - { - char str_nh[PREFIX_STRLEN]; - - prefix2str(ubpi_nexthop, str_nh, sizeof(str_nh)); - - vnc_zlog_debug_verbose("%s: ubpi_nexthop=%s", __func__, str_nh); - } + vnc_zlog_debug_verbose("%s: ubpi_nexthop=%pFX", __func__, ubpi_nexthop); /* exact match */ bd = bgp_node_lookup(table_rd, ubpi_nexthop); @@ -574,12 +554,9 @@ static void vnc_import_bgp_add_route_mode_resolve_nve( /*debugging */ if (VNC_DEBUG(VERBOSE)) { - char str_pfx[PREFIX_STRLEN]; char str_nh[PREFIX_STRLEN]; struct prefix nh; - prefix2str(prefix, str_pfx, sizeof(str_pfx)); - nh.prefixlen = 0; rfapiUnicastNexthop2Prefix(afi, info->attr, &nh); if (nh.prefixlen) { @@ -590,8 +567,8 @@ static void vnc_import_bgp_add_route_mode_resolve_nve( } vnc_zlog_debug_verbose( - "%s(bgp=%p, unicast prefix=%s, unicast nh=%s)", - __func__, bgp, str_pfx, str_nh); + "%s(bgp=%p, unicast prefix=%pFX, unicast nh=%s)", + __func__, bgp, prefix, str_nh); } if (info->type != ZEBRA_ROUTE_BGP) { @@ -713,12 +690,7 @@ static void vnc_import_bgp_add_route_mode_plain(struct bgp *bgp, uint32_t local_pref; uint32_t *med = NULL; - { - char buf[PREFIX_STRLEN]; - - prefix2str(prefix, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s(prefix=%s) entry", __func__, buf); - } + vnc_zlog_debug_verbose("%s(prefix=%pFX) entry", __func__, prefix); if (!afi) { flog_err(EC_LIB_DEVELOPMENT, "%s: can't get afi of prefix", @@ -783,12 +755,8 @@ static void vnc_import_bgp_add_route_mode_plain(struct bgp *bgp, ahr_flags |= RFAPI_AHR_NO_TUNNEL_SUBTLV; } - if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) { - char buf[PREFIX_STRLEN]; - - prefix2str(vn_pfx, buf, sizeof(buf)); - vnc_zlog_debug_any("%s vn_pfx=%s", __func__, buf); - } + if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) + vnc_zlog_debug_any("%s vn_pfx=%pFX", __func__, vn_pfx); /* * Compute VN address @@ -899,12 +867,7 @@ static void vnc_import_bgp_add_route_mode_nvegroup( struct route_map *rmap = NULL; uint32_t local_pref; - { - char buf[PREFIX_STRLEN]; - - prefix2str(prefix, buf, sizeof(buf)); - vnc_zlog_debug_verbose("%s(prefix=%s) entry", __func__, buf); - } + vnc_zlog_debug_verbose("%s(prefix=%pFX) entry", __func__, prefix); assert(rfg); @@ -985,12 +948,8 @@ static void vnc_import_bgp_add_route_mode_nvegroup( vncHDBgpDirect.un_addr = pfx_un.prefix; } - if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) { - char buf[PREFIX_STRLEN]; - - prefix2str(vn_pfx, buf, sizeof(buf)); - vnc_zlog_debug_any("%s vn_pfx=%s", __func__, buf); - } + if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) + vnc_zlog_debug_any("%s vn_pfx=%pFX", __func__, vn_pfx); /* * Compute VN address @@ -1288,12 +1247,7 @@ static void vnc_import_bgp_del_route_mode_resolve_nve_one_rd( if (!table_rd) return; - { - char str_nh[PREFIX_STRLEN]; - - prefix2str(ubpi_nexthop, str_nh, sizeof(str_nh)); - vnc_zlog_debug_verbose("%s: ubpi_nexthop=%s", __func__, str_nh); - } + vnc_zlog_debug_verbose("%s: ubpi_nexthop=%pFX", __func__, ubpi_nexthop); /* exact match */ @@ -1467,17 +1421,11 @@ void vnc_import_bgp_add_vnc_host_route_mode_resolve_nve( memset(&pfx_unicast_nexthop, 0, sizeof(struct prefix)); /* keep valgrind happy */ - if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) { - char hbuf[PREFIX_STRLEN]; - char ubuf[PREFIX_STRLEN]; - - prefix2str(&pb->hpfx, hbuf, sizeof(hbuf)); - prefix2str(&pb->upfx, ubuf, sizeof(ubuf)); - + if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) vnc_zlog_debug_any( - "%s: examining RHN Entry (q=%p): upfx=%s, hpfx=%s, ubpi=%p", - __func__, cursor, ubuf, hbuf, pb->ubpi); - } + "%s: examining RHN Entry (q=%p): upfx=%pFX, hpfx=%pFX, ubpi=%p", + __func__, cursor, &pb->upfx, &pb->hpfx, + pb->ubpi); if (process_unicast_route(bgp, afi, &pb->upfx, pb->ubpi, &ecom, &pfx_unicast_nexthop)) { @@ -1497,16 +1445,9 @@ void vnc_import_bgp_add_vnc_host_route_mode_resolve_nve( * Sanity check */ if (vnc_prefix_cmp(&pfx_unicast_nexthop, prefix)) { - char str_unh[PREFIX_STRLEN]; - char str_nve_pfx[PREFIX_STRLEN]; - - prefix2str(&pfx_unicast_nexthop, str_unh, - sizeof(str_unh)); - prefix2str(prefix, str_nve_pfx, sizeof(str_nve_pfx)); - vnc_zlog_debug_verbose( - "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %s != nve pfx %s", - __func__, str_unh, str_nve_pfx); + "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %pFX != nve pfx %pFX", + __func__, &pfx_unicast_nexthop, prefix); assert(0); } @@ -1521,13 +1462,9 @@ void vnc_import_bgp_add_vnc_host_route_mode_resolve_nve( #if DEBUG_RHN_LIST /* debug */ { - char pbuf[PREFIX_STRLEN]; - - prefix2str(prefix, pbuf, sizeof(pbuf)); - vnc_zlog_debug_verbose( - "%s: advancing past RHN Entry (q=%p): with prefix %s", - __func__, cursor, pbuf); + "%s: advancing past RHN Entry (q=%p): with prefix %pFX", + __func__, cursor, prefix); print_rhn_list(__func__, NULL); /* debug */ } #endif @@ -1550,14 +1487,8 @@ void vnc_import_bgp_del_vnc_host_route_mode_resolve_nve( struct rfapi_cfg *hc = NULL; int rc; - { - char str_pfx[PREFIX_STRLEN]; - - prefix2str(prefix, str_pfx, sizeof(str_pfx)); - - vnc_zlog_debug_verbose("%s(bgp=%p, nve prefix=%s)", __func__, - bgp, str_pfx); - } + vnc_zlog_debug_verbose("%s(bgp=%p, nve prefix=%pFX)", __func__, bgp, + prefix); if (afi != AFI_IP && afi != AFI_IP6) return; @@ -1621,16 +1552,9 @@ void vnc_import_bgp_del_vnc_host_route_mode_resolve_nve( * Sanity check */ if (vnc_prefix_cmp(&pfx_unicast_nexthop, prefix)) { - char str_unh[PREFIX_STRLEN]; - char str_nve_pfx[PREFIX_STRLEN]; - - prefix2str(&pfx_unicast_nexthop, str_unh, - sizeof(str_unh)); - prefix2str(prefix, str_nve_pfx, sizeof(str_nve_pfx)); - vnc_zlog_debug_verbose( - "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %s != nve pfx %s", - __func__, str_unh, str_nve_pfx); + "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %pFX != nve pfx %pFX", + __func__, &pfx_unicast_nexthop, prefix); assert(0); } @@ -2305,13 +2229,11 @@ void vnc_import_bgp_exterior_add_route_interior( (void **)&pfx_exterior, &cursor)) { struct prefix pfx_nexthop; - char buf[PREFIX_STRLEN]; afi_t afi_exterior = family2afi(pfx_exterior->family); - prefix2str(pfx_exterior, buf, sizeof(buf)); vnc_zlog_debug_verbose( - "%s: checking exterior orphan at prefix %s", __func__, - buf); + "%s: checking exterior orphan at prefix %pFX", __func__, + pfx_exterior); if (afi_exterior != afi) { vnc_zlog_debug_verbose( @@ -2602,15 +2524,10 @@ void vnc_import_bgp_add_route(struct bgp *bgp, const struct prefix *prefix, if (VNC_DEBUG(VERBOSE)) { struct prefix pfx_nexthop; - char buf[PREFIX_STRLEN]; - char buf_nh[PREFIX_STRLEN]; - prefix2str(prefix, buf, sizeof(buf)); rfapiUnicastNexthop2Prefix(afi, info->attr, &pfx_nexthop); - prefix2str(&pfx_nexthop, buf_nh, sizeof(buf_nh)); - - vnc_zlog_debug_verbose("%s: pfx %s, nh %s", __func__, buf, - buf_nh); + vnc_zlog_debug_verbose("%s: pfx %pFX, nh %pFX", __func__, + prefix, &pfx_nexthop); } #if DEBUG_RHN_LIST print_rhn_list(__func__, "ENTER "); @@ -2673,15 +2590,10 @@ void vnc_import_bgp_del_route(struct bgp *bgp, const struct prefix *prefix, { struct prefix pfx_nexthop; - char buf[PREFIX_STRLEN]; - char buf_nh[PREFIX_STRLEN]; - prefix2str(prefix, buf, sizeof(buf)); rfapiUnicastNexthop2Prefix(afi, info->attr, &pfx_nexthop); - prefix2str(&pfx_nexthop, buf_nh, sizeof(buf_nh)); - - vnc_zlog_debug_verbose("%s: pfx %s, nh %s", __func__, buf, - buf_nh); + vnc_zlog_debug_verbose("%s: pfx %pFX, nh %pFX", __func__, + prefix, &pfx_nexthop); } #if DEBUG_RHN_LIST print_rhn_list(__func__, "ENTER "); diff --git a/bgpd/rfapi/vnc_zebra.c b/bgpd/rfapi/vnc_zebra.c index 008c7b28b7..b254f11ce7 100644 --- a/bgpd/rfapi/vnc_zebra.c +++ b/bgpd/rfapi/vnc_zebra.c @@ -363,15 +363,11 @@ static int vnc_zebra_read_route(ZAPI_CALLBACK_ARGS) else vnc_redistribute_delete(&api.prefix, api.type); - if (BGP_DEBUG(zebra, ZEBRA)) { - char buf[PREFIX_STRLEN]; - - prefix2str(&api.prefix, buf, sizeof(buf)); + if (BGP_DEBUG(zebra, ZEBRA)) vnc_zlog_debug_verbose( - "%s: Zebra rcvd: route delete %s %s metric %u", - __func__, zebra_route_string(api.type), buf, + "%s: Zebra rcvd: route delete %s %pFX metric %u", + __func__, zebra_route_string(api.type), &api.prefix, api.metric); - } return 0; } @@ -425,14 +421,10 @@ static void vnc_zebra_route_msg(const struct prefix *p, unsigned int nhp_count, } } - if (BGP_DEBUG(zebra, ZEBRA)) { - char buf[PREFIX_STRLEN]; - - prefix2str(&api.prefix, buf, sizeof(buf)); + if (BGP_DEBUG(zebra, ZEBRA)) vnc_zlog_debug_verbose( - "%s: Zebra send: route %s %s, nhp_count=%d", __func__, - (add ? "add" : "del"), buf, nhp_count); - } + "%s: Zebra send: route %s %pFX, nhp_count=%d", __func__, + (add ? "add" : "del"), &api.prefix, nhp_count); zclient_route_send((add ? ZEBRA_ROUTE_ADD : ZEBRA_ROUTE_DELETE), zclient_vnc, &api); |
