]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib, bgpd: bmp was not specifying l2vpn afi 12896/head
authorDonald Sharp <sharpd@nvidia.com>
Thu, 23 Feb 2023 19:22:33 +0000 (14:22 -0500)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Fri, 24 Feb 2023 09:36:57 +0000 (09:36 +0000)
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 <sharpd@nvidia.com>
(cherry picked from commit 0884f1644b19dd6e70a48a6c29fd5d201b264d6d)

bgpd/bgp_bmp.c
lib/prefix.c
lib/prefix.h

index 2a65dbac804dd72dd6b4f758a35151a655aec523..41b6fe37ffc03db291d2d522e363988f89de9f79 100644 (file)
@@ -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",
index 1d098f78c5e563b3eb84a9da51c13778c9341df0..dbb9d0e1b170b2fb6f66e497a93ba28b5831eba7 100644 (file)
@@ -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) {
index 7de8d7903ea6b389df6258266b71c8f9247246fc..ddcec4527ee45ed4355c7b794ba341edf679b4ae 100644 (file)
@@ -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)
 {