mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 12:21:25 +00:00
bgpd: Print hostname along with IP for most useful debug messages
Examples: ``` %ADJCHANGE: neighbor 192.168.0.1(exit1-debian-11) in vrf default Up 192.168.0.1(exit1-debian-11) graceful restart stalepath timer expired 192.168.0.1(exit1-debian-11) sending route-refresh (BoRR) for IPv4/unicast 192.168.0.1(exit1-debian-11) graceful restart timer started for 120 sec 192.168.0.1(exit1-debian-11) graceful restart stalepath timer started for 120 sec 192.168.0.1(exit1-debian-11) graceful restart timer stopped %MAXPFXEXCEED: No. of IPv4 Unicast prefix received from 192.168.0.1(exit1-debian-11) 9 exceed, limit 1 ``` Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
This commit is contained in:
parent
fd5dbc8e48
commit
a7d91a8c79
@ -677,7 +677,8 @@ static void bgp_llgr_stale_timer_expire(struct thread *thread)
|
|||||||
* stale routes from the neighbor that it is retaining.
|
* stale routes from the neighbor that it is retaining.
|
||||||
*/
|
*/
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug("%s Long-lived stale timer (%s) expired", peer->host,
|
zlog_debug("%s(%s) Long-lived stale timer (%s) expired",
|
||||||
|
peer->host, bgp_peer_hostname(peer),
|
||||||
get_afi_safi_str(afi, safi, false));
|
get_afi_safi_str(afi, safi, false));
|
||||||
|
|
||||||
UNSET_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_LLGR_WAIT);
|
UNSET_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_LLGR_WAIT);
|
||||||
@ -719,8 +720,10 @@ static void bgp_set_llgr_stale(struct peer *peer, afi_t afi, safi_t safi)
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s Long-lived set stale community (LLGR_STALE) for: %pFX",
|
"%s(%s) Long-lived set stale community (LLGR_STALE) for: %pFX",
|
||||||
peer->host, &dest->p);
|
peer->host,
|
||||||
|
bgp_peer_hostname(peer),
|
||||||
|
&dest->p);
|
||||||
|
|
||||||
attr = *pi->attr;
|
attr = *pi->attr;
|
||||||
bgp_attr_add_llgr_community(&attr);
|
bgp_attr_add_llgr_community(&attr);
|
||||||
@ -747,8 +750,10 @@ static void bgp_set_llgr_stale(struct peer *peer, afi_t afi, safi_t safi)
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s Long-lived set stale community (LLGR_STALE) for: %pFX",
|
"%s(%s) Long-lived set stale community (LLGR_STALE) for: %pFX",
|
||||||
peer->host, &dest->p);
|
peer->host,
|
||||||
|
bgp_peer_hostname(peer),
|
||||||
|
&dest->p);
|
||||||
|
|
||||||
attr = *pi->attr;
|
attr = *pi->attr;
|
||||||
bgp_attr_add_llgr_community(&attr);
|
bgp_attr_add_llgr_community(&attr);
|
||||||
@ -772,9 +777,10 @@ static void bgp_graceful_restart_timer_expire(struct thread *thread)
|
|||||||
peer = THREAD_ARG(thread);
|
peer = THREAD_ARG(thread);
|
||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer)) {
|
if (bgp_debug_neighbor_events(peer)) {
|
||||||
zlog_debug("%s graceful restart timer expired", peer->host);
|
zlog_debug("%s(%s) graceful restart timer expired", peer->host,
|
||||||
zlog_debug("%s graceful restart stalepath timer stopped",
|
bgp_peer_hostname(peer));
|
||||||
peer->host);
|
zlog_debug("%s(%s) graceful restart stalepath timer stopped",
|
||||||
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
|
|
||||||
FOREACH_AFI_SAFI (afi, safi) {
|
FOREACH_AFI_SAFI (afi, safi) {
|
||||||
@ -800,8 +806,8 @@ static void bgp_graceful_restart_timer_expire(struct thread *thread)
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s Long-lived stale timer (%s) started for %d sec",
|
"%s(%s) Long-lived stale timer (%s) started for %d sec",
|
||||||
peer->host,
|
peer->host, bgp_peer_hostname(peer),
|
||||||
get_afi_safi_str(afi, safi, false),
|
get_afi_safi_str(afi, safi, false),
|
||||||
peer->llgr[afi][safi].stale_time);
|
peer->llgr[afi][safi].stale_time);
|
||||||
|
|
||||||
@ -836,8 +842,8 @@ static void bgp_graceful_stale_timer_expire(struct thread *thread)
|
|||||||
peer = THREAD_ARG(thread);
|
peer = THREAD_ARG(thread);
|
||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug("%s graceful restart stalepath timer expired",
|
zlog_debug("%s(%s) graceful restart stalepath timer expired",
|
||||||
peer->host);
|
peer->host, bgp_peer_hostname(peer));
|
||||||
|
|
||||||
/* NSF delete stale route */
|
/* NSF delete stale route */
|
||||||
FOREACH_AFI_SAFI_NSF (afi, safi)
|
FOREACH_AFI_SAFI_NSF (afi, safi)
|
||||||
@ -1390,11 +1396,10 @@ int bgp_stop(struct peer *peer)
|
|||||||
|
|
||||||
zlog_info(
|
zlog_info(
|
||||||
"%%ADJCHANGE: neighbor %s(%s) in vrf %s Down %s",
|
"%%ADJCHANGE: neighbor %s(%s) in vrf %s Down %s",
|
||||||
peer->host,
|
peer->host, bgp_peer_hostname(peer),
|
||||||
(peer->hostname) ? peer->hostname : "Unknown",
|
|
||||||
vrf ? ((vrf->vrf_id != VRF_DEFAULT)
|
vrf ? ((vrf->vrf_id != VRF_DEFAULT)
|
||||||
? vrf->name
|
? vrf->name
|
||||||
: VRF_DEFAULT_NAME)
|
: VRF_DEFAULT_NAME)
|
||||||
: "",
|
: "",
|
||||||
peer_down_str[(int)peer->last_reset]);
|
peer_down_str[(int)peer->last_reset]);
|
||||||
}
|
}
|
||||||
@ -1404,17 +1409,19 @@ int bgp_stop(struct peer *peer)
|
|||||||
BGP_TIMER_OFF(peer->t_gr_stale);
|
BGP_TIMER_OFF(peer->t_gr_stale);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s graceful restart stalepath timer stopped",
|
"%s(%s) graceful restart stalepath timer stopped",
|
||||||
peer->host);
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
if (CHECK_FLAG(peer->sflags, PEER_STATUS_NSF_WAIT)) {
|
if (CHECK_FLAG(peer->sflags, PEER_STATUS_NSF_WAIT)) {
|
||||||
if (bgp_debug_neighbor_events(peer)) {
|
if (bgp_debug_neighbor_events(peer)) {
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s graceful restart timer started for %d sec",
|
"%s(%s) graceful restart timer started for %d sec",
|
||||||
peer->host, peer->v_gr_restart);
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
peer->v_gr_restart);
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s graceful restart stalepath timer started for %d sec",
|
"%s(%s) graceful restart stalepath timer started for %d sec",
|
||||||
peer->host, peer->bgp->stalepath_time);
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
peer->bgp->stalepath_time);
|
||||||
}
|
}
|
||||||
BGP_TIMER_ON(peer->t_gr_restart,
|
BGP_TIMER_ON(peer->t_gr_restart,
|
||||||
bgp_graceful_restart_timer_expire,
|
bgp_graceful_restart_timer_expire,
|
||||||
@ -1435,8 +1442,8 @@ int bgp_stop(struct peer *peer)
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s: route-refresh restart stalepath timer stopped",
|
"%s(%s) route-refresh restart stalepath timer stopped",
|
||||||
peer->host);
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If peer reset before receiving EOR, decrement EOR count and
|
/* If peer reset before receiving EOR, decrement EOR count and
|
||||||
@ -2092,12 +2099,12 @@ static int bgp_establish(struct peer *peer)
|
|||||||
/* bgp log-neighbor-changes of neighbor Up */
|
/* bgp log-neighbor-changes of neighbor Up */
|
||||||
if (CHECK_FLAG(peer->bgp->flags, BGP_FLAG_LOG_NEIGHBOR_CHANGES)) {
|
if (CHECK_FLAG(peer->bgp->flags, BGP_FLAG_LOG_NEIGHBOR_CHANGES)) {
|
||||||
struct vrf *vrf = vrf_lookup_by_id(peer->bgp->vrf_id);
|
struct vrf *vrf = vrf_lookup_by_id(peer->bgp->vrf_id);
|
||||||
zlog_info(
|
zlog_info("%%ADJCHANGE: neighbor %s(%s) in vrf %s Up",
|
||||||
"%%ADJCHANGE: neighbor %s(%s) in vrf %s Up", peer->host,
|
peer->host, bgp_peer_hostname(peer),
|
||||||
(peer->hostname) ? peer->hostname : "Unknown",
|
vrf ? ((vrf->vrf_id != VRF_DEFAULT)
|
||||||
vrf ? ((vrf->vrf_id != VRF_DEFAULT) ? vrf->name
|
? vrf->name
|
||||||
: VRF_DEFAULT_NAME)
|
: VRF_DEFAULT_NAME)
|
||||||
: "");
|
: "");
|
||||||
}
|
}
|
||||||
/* assign update-group/subgroup */
|
/* assign update-group/subgroup */
|
||||||
update_group_adjust_peer_afs(peer);
|
update_group_adjust_peer_afs(peer);
|
||||||
@ -2182,16 +2189,16 @@ static int bgp_establish(struct peer *peer)
|
|||||||
BGP_TIMER_OFF(peer->t_gr_stale);
|
BGP_TIMER_OFF(peer->t_gr_stale);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s graceful restart stalepath timer stopped",
|
"%s(%s) graceful restart stalepath timer stopped",
|
||||||
peer->host);
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (peer->t_gr_restart) {
|
if (peer->t_gr_restart) {
|
||||||
BGP_TIMER_OFF(peer->t_gr_restart);
|
BGP_TIMER_OFF(peer->t_gr_restart);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug("%s graceful restart timer stopped",
|
zlog_debug("%s(%s) graceful restart timer stopped",
|
||||||
peer->host);
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset uptime, turn on keepalives, send current table. */
|
/* Reset uptime, turn on keepalives, send current table. */
|
||||||
|
@ -483,8 +483,10 @@ void bgp_generate_updgrp_packets(struct thread *thread)
|
|||||||
if (bgp_debug_neighbor_events(
|
if (bgp_debug_neighbor_events(
|
||||||
peer))
|
peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s sending route-refresh (EoRR) for %s/%s",
|
"%s(%s) sending route-refresh (EoRR) for %s/%s",
|
||||||
peer->host,
|
peer->host,
|
||||||
|
bgp_peer_hostname(
|
||||||
|
peer),
|
||||||
afi2str(afi),
|
afi2str(afi),
|
||||||
safi2str(safi));
|
safi2str(safi));
|
||||||
}
|
}
|
||||||
@ -913,9 +915,12 @@ void bgp_route_refresh_send(struct peer *peer, afi_t afi, safi_t safi,
|
|||||||
stream_putc(s, ORF_COMMON_PART_REMOVE_ALL);
|
stream_putc(s, ORF_COMMON_PART_REMOVE_ALL);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s sending REFRESH_REQ to remove ORF(%d) (%s) for afi/safi: %s/%s",
|
"%s(%s) sending REFRESH_REQ to remove ORF(%d) (%s) for afi/safi: %s/%s",
|
||||||
peer->host, orf_type,
|
peer->host,
|
||||||
(when_to_refresh == REFRESH_DEFER
|
bgp_peer_hostname(peer),
|
||||||
|
orf_type,
|
||||||
|
(when_to_refresh ==
|
||||||
|
REFRESH_DEFER
|
||||||
? "defer"
|
? "defer"
|
||||||
: "immediate"),
|
: "immediate"),
|
||||||
iana_afi2str(pkt_afi),
|
iana_afi2str(pkt_afi),
|
||||||
@ -930,9 +935,12 @@ void bgp_route_refresh_send(struct peer *peer, afi_t afi, safi_t safi,
|
|||||||
ORF_COMMON_PART_DENY);
|
ORF_COMMON_PART_DENY);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s sending REFRESH_REQ with pfxlist ORF(%d) (%s) for afi/safi: %s/%s",
|
"%s(%s) sending REFRESH_REQ with pfxlist ORF(%d) (%s) for afi/safi: %s/%s",
|
||||||
peer->host, orf_type,
|
peer->host,
|
||||||
(when_to_refresh == REFRESH_DEFER
|
bgp_peer_hostname(peer),
|
||||||
|
orf_type,
|
||||||
|
(when_to_refresh ==
|
||||||
|
REFRESH_DEFER
|
||||||
? "defer"
|
? "defer"
|
||||||
: "immediate"),
|
: "immediate"),
|
||||||
iana_afi2str(pkt_afi),
|
iana_afi2str(pkt_afi),
|
||||||
@ -949,9 +957,10 @@ void bgp_route_refresh_send(struct peer *peer, afi_t afi, safi_t safi,
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer)) {
|
if (bgp_debug_neighbor_events(peer)) {
|
||||||
if (!orf_refresh)
|
if (!orf_refresh)
|
||||||
zlog_debug("%s sending REFRESH_REQ for afi/safi: %s/%s",
|
zlog_debug(
|
||||||
peer->host, iana_afi2str(pkt_afi),
|
"%s(%s) sending REFRESH_REQ for afi/safi: %s/%s",
|
||||||
iana_safi2str(pkt_safi));
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
iana_afi2str(pkt_afi), iana_safi2str(pkt_safi));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add packet to the peer. */
|
/* Add packet to the peer. */
|
||||||
@ -995,8 +1004,8 @@ void bgp_capability_send(struct peer *peer, afi_t afi, safi_t safi,
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s sending CAPABILITY has %s MP_EXT CAP for afi/safi: %s/%s",
|
"%s(%s) sending CAPABILITY has %s MP_EXT CAP for afi/safi: %s/%s",
|
||||||
peer->host,
|
peer->host, bgp_peer_hostname(peer),
|
||||||
action == CAPABILITY_ACTION_SET ? "Advertising"
|
action == CAPABILITY_ACTION_SET ? "Advertising"
|
||||||
: "Removing",
|
: "Removing",
|
||||||
iana_afi2str(pkt_afi), iana_safi2str(pkt_safi));
|
iana_afi2str(pkt_afi), iana_safi2str(pkt_safi));
|
||||||
@ -1551,8 +1560,9 @@ static void bgp_refresh_stalepath_timer_expire(struct thread *thread)
|
|||||||
bgp_clear_stale_route(peer, afi, safi);
|
bgp_clear_stale_route(peer, afi, safi);
|
||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug("%s: route-refresh (BoRR) timer for %s/%s expired",
|
zlog_debug(
|
||||||
peer->host, afi2str(afi), safi2str(safi));
|
"%s(%s) route-refresh (BoRR) timer expired for afi/safi: %d/%d",
|
||||||
|
peer->host, bgp_peer_hostname(peer), afi, safi);
|
||||||
|
|
||||||
bgp_timer_set(peer);
|
bgp_timer_set(peer);
|
||||||
}
|
}
|
||||||
@ -1708,7 +1718,8 @@ static int bgp_update_receive(struct peer *peer, bgp_size_t size)
|
|||||||
peer->host);
|
peer->host);
|
||||||
|
|
||||||
if (ret && bgp_debug_update(peer, NULL, NULL, 1)) {
|
if (ret && bgp_debug_update(peer, NULL, NULL, 1)) {
|
||||||
zlog_debug("%s rcvd UPDATE w/ attr: %s", peer->host,
|
zlog_debug("%s(%s) rcvd UPDATE w/ attr: %s", peer->host,
|
||||||
|
bgp_peer_hostname(peer),
|
||||||
peer->rcvd_attr_str);
|
peer->rcvd_attr_str);
|
||||||
peer->rcvd_attr_printed = 1;
|
peer->rcvd_attr_printed = 1;
|
||||||
}
|
}
|
||||||
@ -1738,8 +1749,9 @@ static int bgp_update_receive(struct peer *peer, bgp_size_t size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (BGP_DEBUG(update, UPDATE_IN))
|
if (BGP_DEBUG(update, UPDATE_IN))
|
||||||
zlog_debug("%s rcvd UPDATE wlen %d attrlen %d alen %d",
|
zlog_debug("%s(%s) rcvd UPDATE wlen %d attrlen %d alen %d",
|
||||||
peer->host, withdraw_len, attribute_len, update_len);
|
peer->host, bgp_peer_hostname(peer), withdraw_len,
|
||||||
|
attribute_len, update_len);
|
||||||
|
|
||||||
/* Parse any given NLRIs */
|
/* Parse any given NLRIs */
|
||||||
for (int i = NLRI_UPDATE; i < NLRI_TYPE_MAX; i++) {
|
for (int i = NLRI_UPDATE; i < NLRI_TYPE_MAX; i++) {
|
||||||
@ -2273,18 +2285,18 @@ static int bgp_route_refresh_receive(struct peer *peer, bgp_size_t size)
|
|||||||
PEER_STATUS_EOR_RECEIVED)) {
|
PEER_STATUS_EOR_RECEIVED)) {
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s rcvd route-refresh (BoRR) for %s/%s before EoR",
|
"%s(%s) rcvd route-refresh (BoRR) for %s/%s before EoR",
|
||||||
peer->host, afi2str(afi),
|
peer->host, bgp_peer_hostname(peer),
|
||||||
safi2str(safi));
|
afi2str(afi), safi2str(safi));
|
||||||
return BGP_PACKET_NOOP;
|
return BGP_PACKET_NOOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (peer->t_refresh_stalepath) {
|
if (peer->t_refresh_stalepath) {
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s rcvd route-refresh (BoRR) for %s/%s, whereas BoRR already received",
|
"%s(%s) rcvd route-refresh (BoRR) for %s/%s, whereas BoRR already received",
|
||||||
peer->host, afi2str(afi),
|
peer->host, bgp_peer_hostname(peer),
|
||||||
safi2str(safi));
|
afi2str(afi), safi2str(safi));
|
||||||
return BGP_PACKET_NOOP;
|
return BGP_PACKET_NOOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2312,14 +2324,16 @@ static int bgp_route_refresh_receive(struct peer *peer, bgp_size_t size)
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s rcvd route-refresh (BoRR) for %s/%s, triggering timer for %u seconds",
|
"%s(%s) rcvd route-refresh (BoRR) for %s/%s, triggering timer for %u seconds",
|
||||||
peer->host, afi2str(afi), safi2str(safi),
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
afi2str(afi), safi2str(safi),
|
||||||
peer->bgp->stalepath_time);
|
peer->bgp->stalepath_time);
|
||||||
} else if (subtype == BGP_ROUTE_REFRESH_EORR) {
|
} else if (subtype == BGP_ROUTE_REFRESH_EORR) {
|
||||||
if (!peer->t_refresh_stalepath) {
|
if (!peer->t_refresh_stalepath) {
|
||||||
zlog_err(
|
zlog_err(
|
||||||
"%s rcvd route-refresh (EoRR) for %s/%s, whereas no BoRR received",
|
"%s(%s) rcvd route-refresh (EoRR) for %s/%s, whereas no BoRR received",
|
||||||
peer->host, afi2str(afi), safi2str(safi));
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
afi2str(afi), safi2str(safi));
|
||||||
return BGP_PACKET_NOOP;
|
return BGP_PACKET_NOOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2331,15 +2345,18 @@ static int bgp_route_refresh_receive(struct peer *peer, bgp_size_t size)
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s rcvd route-refresh (EoRR) for %s/%s, stopping BoRR timer",
|
"%s(%s) rcvd route-refresh (EoRR) for %s/%s, stopping BoRR timer",
|
||||||
peer->host, afi2str(afi), safi2str(safi));
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
afi2str(afi), safi2str(safi));
|
||||||
|
|
||||||
if (peer->nsf[afi][safi])
|
if (peer->nsf[afi][safi])
|
||||||
bgp_clear_stale_route(peer, afi, safi);
|
bgp_clear_stale_route(peer, afi, safi);
|
||||||
} else {
|
} else {
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug("%s rcvd route-refresh (REQUEST) for %s/%s",
|
zlog_debug(
|
||||||
peer->host, afi2str(afi), safi2str(safi));
|
"%s(%s) rcvd route-refresh (REQUEST) for %s/%s",
|
||||||
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
afi2str(afi), safi2str(safi));
|
||||||
|
|
||||||
/* In response to a "normal route refresh request" from the
|
/* In response to a "normal route refresh request" from the
|
||||||
* peer, the speaker MUST send a BoRR message.
|
* peer, the speaker MUST send a BoRR message.
|
||||||
@ -2354,9 +2371,10 @@ static int bgp_route_refresh_receive(struct peer *peer, bgp_size_t size)
|
|||||||
PEER_STATUS_EOR_SEND)) {
|
PEER_STATUS_EOR_SEND)) {
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s rcvd route-refresh (REQUEST) for %s/%s before EoR",
|
"%s(%s) rcvd route-refresh (REQUEST) for %s/%s before EoR",
|
||||||
peer->host, afi2str(afi),
|
peer->host,
|
||||||
safi2str(safi));
|
bgp_peer_hostname(peer),
|
||||||
|
afi2str(afi), safi2str(safi));
|
||||||
return BGP_PACKET_NOOP;
|
return BGP_PACKET_NOOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2365,9 +2383,9 @@ static int bgp_route_refresh_receive(struct peer *peer, bgp_size_t size)
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s sending route-refresh (BoRR) for %s/%s",
|
"%s(%s) sending route-refresh (BoRR) for %s/%s",
|
||||||
peer->host, afi2str(afi),
|
peer->host, bgp_peer_hostname(peer),
|
||||||
safi2str(safi));
|
afi2str(afi), safi2str(safi));
|
||||||
|
|
||||||
/* Set flag Ready-To-Send to know when we can send EoRR
|
/* Set flag Ready-To-Send to know when we can send EoRR
|
||||||
* message.
|
* message.
|
||||||
|
@ -3433,9 +3433,9 @@ bool bgp_maximum_prefix_overflow(struct peer *peer, afi_t afi, safi_t safi,
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
zlog_info(
|
zlog_info(
|
||||||
"%%MAXPFXEXCEED: No. of %s prefix received from %s %u exceed, limit %u",
|
"%%MAXPFXEXCEED: No. of %s prefix received from %s(%s) %u exceed, limit %u",
|
||||||
get_afi_safi_str(afi, safi, false), peer->host, pcount,
|
get_afi_safi_str(afi, safi, false), peer->host,
|
||||||
peer->pmax[afi][safi]);
|
bgp_peer_hostname(peer), pcount, peer->pmax[afi][safi]);
|
||||||
SET_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_PREFIX_LIMIT);
|
SET_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_PREFIX_LIMIT);
|
||||||
|
|
||||||
if (CHECK_FLAG(peer->af_flags[afi][safi],
|
if (CHECK_FLAG(peer->af_flags[afi][safi],
|
||||||
@ -3473,8 +3473,9 @@ bool bgp_maximum_prefix_overflow(struct peer *peer, afi_t afi, safi_t safi,
|
|||||||
|
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s Maximum-prefix restart timer started for %d secs",
|
"%s(%s) Maximum-prefix restart timer started for %d secs",
|
||||||
peer->host, peer->v_pmax_restart);
|
peer->host, bgp_peer_hostname(peer),
|
||||||
|
peer->v_pmax_restart);
|
||||||
|
|
||||||
BGP_TIMER_ON(peer->t_pmax_restart,
|
BGP_TIMER_ON(peer->t_pmax_restart,
|
||||||
bgp_maximum_prefix_restart_timer,
|
bgp_maximum_prefix_restart_timer,
|
||||||
|
18
bgpd/bgpd.c
18
bgpd/bgpd.c
@ -2347,15 +2347,15 @@ void peer_nsf_stop(struct peer *peer)
|
|||||||
if (peer->t_gr_restart) {
|
if (peer->t_gr_restart) {
|
||||||
BGP_TIMER_OFF(peer->t_gr_restart);
|
BGP_TIMER_OFF(peer->t_gr_restart);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug("%s graceful restart timer stopped",
|
zlog_debug("%s(%s) graceful restart timer stopped",
|
||||||
peer->host);
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
if (peer->t_gr_stale) {
|
if (peer->t_gr_stale) {
|
||||||
BGP_TIMER_OFF(peer->t_gr_stale);
|
BGP_TIMER_OFF(peer->t_gr_stale);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s graceful restart stalepath timer stopped",
|
"%s(%s) graceful restart stalepath timer stopped",
|
||||||
peer->host);
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
bgp_clear_route_all(peer);
|
bgp_clear_route_all(peer);
|
||||||
}
|
}
|
||||||
@ -4294,8 +4294,9 @@ static void peer_flag_modify_action(struct peer *peer, uint32_t flag)
|
|||||||
BGP_TIMER_OFF(peer->t_pmax_restart);
|
BGP_TIMER_OFF(peer->t_pmax_restart);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
"%s Maximum-prefix restart timer canceled",
|
"%s(%s) Maximum-prefix restart timer canceled",
|
||||||
peer->host);
|
peer->host,
|
||||||
|
bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BGP_IS_VALID_STATE_FOR_NOTIF(peer->status)) {
|
if (BGP_IS_VALID_STATE_FOR_NOTIF(peer->status)) {
|
||||||
@ -7185,8 +7186,9 @@ static bool peer_maximum_prefix_clear_overflow(struct peer *peer)
|
|||||||
if (peer->t_pmax_restart) {
|
if (peer->t_pmax_restart) {
|
||||||
BGP_TIMER_OFF(peer->t_pmax_restart);
|
BGP_TIMER_OFF(peer->t_pmax_restart);
|
||||||
if (bgp_debug_neighbor_events(peer))
|
if (bgp_debug_neighbor_events(peer))
|
||||||
zlog_debug("%s Maximum-prefix restart timer cancelled",
|
zlog_debug(
|
||||||
peer->host);
|
"%s(%s) Maximum-prefix restart timer cancelled",
|
||||||
|
peer->host, bgp_peer_hostname(peer));
|
||||||
}
|
}
|
||||||
BGP_EVENT_ADD(peer, BGP_Start);
|
BGP_EVENT_ADD(peer, BGP_Start);
|
||||||
return true;
|
return true;
|
||||||
|
@ -2469,6 +2469,11 @@ static inline bool bgp_in_graceful_shutdown(struct bgp *bgp)
|
|||||||
!!CHECK_FLAG(bm->flags, BM_FLAG_GRACEFUL_SHUTDOWN));
|
!!CHECK_FLAG(bm->flags, BM_FLAG_GRACEFUL_SHUTDOWN));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline const char *bgp_peer_hostname(struct peer *peer)
|
||||||
|
{
|
||||||
|
return peer->hostname ? peer->hostname : "Unknown";
|
||||||
|
}
|
||||||
|
|
||||||
/* For benefit of rfapi */
|
/* For benefit of rfapi */
|
||||||
extern struct peer *peer_new(struct bgp *bgp);
|
extern struct peer *peer_new(struct bgp *bgp);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user