From: Donatas Abraitis Date: Tue, 17 Jan 2023 16:07:36 +0000 (+0200) Subject: Revert "bgpd: code review comments addressed" X-Git-Tag: base_8.5~50^2~8 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=e993b11c2311c6f424406b27456202c155c00f23;p=matthieu%2Ffrr.git Revert "bgpd: code review comments addressed" This reverts commit 80f6ea8b99188b9d8e79fe4fc1740cc92375d7bc. --- diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c index 0b939f6aca..48b9205a0a 100644 --- a/bgpd/bgp_debug.c +++ b/bgpd/bgp_debug.c @@ -2386,7 +2386,7 @@ static int bgp_config_write_debug(struct vty *vty) if (CONF_BGP_DEBUG(cond_adv, COND_ADV)) { vty_out(vty, "debug bgp conditional-advertisement\n"); - write++; + write++ } if (CONF_BGP_DEBUG(optimal_route_reflection, ORR)) { diff --git a/bgpd/bgp_orr.c b/bgpd/bgp_orr.c index 7fed6b775e..81e6da2449 100644 --- a/bgpd/bgp_orr.c +++ b/bgpd/bgp_orr.c @@ -555,7 +555,7 @@ int peer_orr_group_unset(struct peer *peer, afi_t afi, safi_t safi, int bgp_afi_safi_orr_group_set_vty(struct vty *vty, afi_t afi, safi_t safi, const char *name, const char *primary_str, const char *secondary_str, - const char *tertiary_str, bool unset) + const char *tertiary_str, bool set) { int ret = CMD_WARNING_CONFIG_FAILED; struct bgp *bgp; @@ -567,7 +567,7 @@ int bgp_afi_safi_orr_group_set_vty(struct vty *vty, afi_t afi, safi_t safi, return ret; } - if (unset) { + if (!set) { ret = bgp_afi_safi_orr_group_unset(bgp, afi, safi, name); if (ret != CMD_SUCCESS) vty_out(vty, @@ -611,7 +611,7 @@ int bgp_afi_safi_orr_group_set_vty(struct vty *vty, afi_t afi, safi_t safi, /* Set optimal route reflection group name to the peer. */ int peer_orr_group_set_vty(struct vty *vty, const char *ip_str, afi_t afi, - safi_t safi, const char *orr_group_name, bool unset) + safi_t safi, const char *orr_group_name, bool set) { int ret = CMD_WARNING_CONFIG_FAILED; struct peer *peer; @@ -626,7 +626,7 @@ int peer_orr_group_set_vty(struct vty *vty, const char *ip_str, afi_t afi, return ret; } - if (!unset) { + if (set) { ret = peer_orr_group_set(peer, afi, safi, orr_group_name); if (ret != CMD_SUCCESS) vty_out(vty, "%% ORR Group '%s' is not configured\n", @@ -763,9 +763,13 @@ bool peer_orr_rrclient_check(struct peer *peer, afi_t afi, safi_t safi) return false; for (ALL_LIST_ELEMENTS_RO(orr_group_list, node, orr_group)) { - /* Check if peer configured as primary/secondary/tertiary root - */ - if (is_orr_root_node(orr_group, peer->host)) + /*Check if peer configured as primary/secondary/tertiary root */ + if ((orr_group->primary && + strmatch(peer->host, orr_group->primary->host)) || + (orr_group->secondary && + strmatch(peer->host, orr_group->secondary->host)) || + (orr_group->tertiary && + strmatch(peer->host, orr_group->tertiary->host))) return true; /* * Check if peer is mapped to any ORR Group in this diff --git a/bgpd/bgp_orr.h b/bgpd/bgp_orr.h index 158de30342..fc9116a52e 100644 --- a/bgpd/bgp_orr.h +++ b/bgpd/bgp_orr.h @@ -67,12 +67,12 @@ extern int bgp_afi_safi_orr_group_set_vty(struct vty *vty, afi_t afi, safi_t safi, const char *name, const char *primary_str, const char *secondary_str, - const char *tertiary_str, bool unset); + const char *tertiary_str, bool set); extern int peer_orr_group_unset(struct peer *peer, afi_t afi, safi_t safi, const char *orr_group_name); extern int peer_orr_group_set_vty(struct vty *vty, const char *ip_str, afi_t afi, safi_t safi, - const char *orr_group_name, bool unset); + const char *orr_group_name, bool set); extern bool peer_orr_rrclient_check(struct peer *peer, afi_t afi, safi_t safi); extern int bgp_show_orr(struct vty *vty, struct bgp *bgp, afi_t afi, diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 9724c3533a..786f5de078 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -6274,7 +6274,7 @@ DEFPY (optimal_route_reflection, } return bgp_afi_safi_orr_group_set_vty( vty, bgp_node_afi(vty), bgp_node_safi(vty), orr_group, - primary_str, secondary_str, tertiary_str, !!no); + primary_str, secondary_str, tertiary_str, !no); } /* neighbor optimal-route-reflection group*/ @@ -6288,7 +6288,7 @@ DEFPY (neighbor_optimal_route_reflection, "ORR group name\n") { return peer_orr_group_set_vty(vty, neighbor, bgp_node_afi(vty), - bgp_node_safi(vty), orr_group, !!no); + bgp_node_safi(vty), orr_group, !no); } /* neighbor route-server-client. */ diff --git a/ospfd/ospf_orr.c b/ospfd/ospf_orr.c index eed948b190..09dd5970ee 100644 --- a/ospfd/ospf_orr.c +++ b/ospfd/ospf_orr.c @@ -325,7 +325,7 @@ void ospf_orr_igp_metric_send_update_delete(struct orr_root *root, int ret; uint8_t count = 0; struct route_node *rn; - struct ospf_route *or; + struct ospf_route *or ; struct orr_igp_metric_info msg; if (!root->old_table)