From: Donald Sharp Date: Thu, 23 Feb 2023 19:22:33 +0000 (-0500) Subject: lib, bgpd: bmp was not specifying l2vpn afi X-Git-Tag: frr-8.5-rc~5^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F12896%2Fhead;p=mirror%2Ffrr.git lib, bgpd: bmp was not specifying l2vpn afi The l2vpn afi was not being properly displayed when a show run was being issued. Add a afi2str_lower function and use it. Fixes: #12867 Signed-off-by: Donald Sharp (cherry picked from commit 0884f1644b19dd6e70a48a6c29fd5d201b264d6d) --- diff --git a/bgpd/bgp_bmp.c b/bgpd/bgp_bmp.c index 2a65dbac80..41b6fe37ff 100644 --- a/bgpd/bgp_bmp.c +++ b/bgpd/bgp_bmp.c @@ -2511,14 +2511,13 @@ static int bmp_config_write(struct bgp *bgp, struct vty *vty) vty_out(vty, " bmp mirror\n"); FOREACH_AFI_SAFI (afi, safi) { - const char *afi_str = (afi == AFI_IP) ? "ipv4" : "ipv6"; - if (bt->afimon[afi][safi] & BMP_MON_PREPOLICY) vty_out(vty, " bmp monitor %s %s pre-policy\n", - afi_str, safi2str(safi)); + afi2str_lower(afi), safi2str(safi)); if (bt->afimon[afi][safi] & BMP_MON_POSTPOLICY) - vty_out(vty, " bmp monitor %s %s post-policy\n", - afi_str, safi2str(safi)); + vty_out(vty, + " bmp monitor %s %s post-policy\n", + afi2str_lower(afi), safi2str(safi)); } frr_each (bmp_listeners, &bt->listeners, bl) vty_out(vty, " \n bmp listener %pSU port %d\n", diff --git a/lib/prefix.c b/lib/prefix.c index 1d098f78c5..dbb9d0e1b1 100644 --- a/lib/prefix.c +++ b/lib/prefix.c @@ -138,6 +138,23 @@ afi_t family2afi(int family) return 0; } +const char *afi2str_lower(afi_t afi) +{ + switch (afi) { + case AFI_IP: + return "ipv4"; + case AFI_IP6: + return "ipv6"; + case AFI_L2VPN: + return "l2vpn"; + case AFI_MAX: + case AFI_UNSPEC: + return "bad-value"; + } + + assert(!"Reached end of function we should never reach"); +} + const char *afi2str(afi_t afi) { switch (afi) { diff --git a/lib/prefix.h b/lib/prefix.h index 7de8d7903e..ddcec4527e 100644 --- a/lib/prefix.h +++ b/lib/prefix.h @@ -398,6 +398,7 @@ extern afi_t family2afi(int); extern const char *family2str(int family); extern const char *safi2str(safi_t safi); extern const char *afi2str(afi_t afi); +extern const char *afi2str_lower(afi_t afi); static inline afi_t prefix_afi(union prefixconstptr pu) {