]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: backpressure - fix ret value evpn_route_select_install
authorRajasekar Raja <rajasekarr@nvidia.com>
Wed, 17 Jul 2024 06:34:15 +0000 (23:34 -0700)
committerRajasekar Raja <rajasekarr@nvidia.com>
Fri, 19 Jul 2024 05:18:06 +0000 (22:18 -0700)
The return value of evpn_route_select_install is ignored in all cases
except during vni route table install/uninstall and based on the
returned value, an error is logged. Fixing this.

Ticket :#3992392

Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
bgpd/bgp_evpn.c

index 75a7d85e88fcfe3441aa7afcf7b5928e091f2d41..9f0e26796549d8c4bd2529f7d1a6ed4a72a8d8cc 100644 (file)
@@ -1490,11 +1490,12 @@ int evpn_route_select_install(struct bgp *bgp, struct bgpevpn *vpn,
            && !bgp_addpath_is_addpath_used(&bgp->tx_addpath, afi, safi)) {
                if (bgp_zebra_has_route_changed(old_select)) {
                        if (CHECK_FLAG(bgp->flags, BGP_FLAG_DELETE_IN_PROGRESS))
-                               evpn_zebra_install(bgp, vpn,
-                                                  (const struct prefix_evpn *)
-                                                          bgp_dest_get_prefix(
-                                                                  dest),
-                                                  old_select);
+                               ret = evpn_zebra_install(bgp, vpn,
+                                                        (const struct prefix_evpn
+                                                                 *)
+                                                                bgp_dest_get_prefix(
+                                                                        dest),
+                                                        old_select);
                        else
                                bgp_zebra_route_install(dest, old_select, bgp,
                                                        true, vpn, false);
@@ -1532,10 +1533,11 @@ int evpn_route_select_install(struct bgp *bgp, struct bgpevpn *vpn,
            && (new_select->sub_type == BGP_ROUTE_IMPORTED ||
                        bgp_evpn_attr_is_sync(new_select->attr))) {
                if (CHECK_FLAG(bgp->flags, BGP_FLAG_DELETE_IN_PROGRESS))
-                       evpn_zebra_install(bgp, vpn,
-                                          (const struct prefix_evpn *)
-                                                  bgp_dest_get_prefix(dest),
-                                          new_select);
+                       ret = evpn_zebra_install(bgp, vpn,
+                                                (const struct prefix_evpn *)
+                                                        bgp_dest_get_prefix(
+                                                                dest),
+                                                new_select);
                else
                        bgp_zebra_route_install(dest, new_select, bgp, true,
                                                vpn, false);
@@ -1559,11 +1561,12 @@ int evpn_route_select_install(struct bgp *bgp, struct bgpevpn *vpn,
                    old_select->sub_type == BGP_ROUTE_IMPORTED) {
                        if (CHECK_FLAG(bgp->flags, BGP_FLAG_DELETE_IN_PROGRESS) ||
                            CHECK_FLAG(bgp->flags, BGP_FLAG_VNI_DOWN))
-                               evpn_zebra_uninstall(bgp, vpn,
-                                                    (const struct prefix_evpn *)
-                                                            bgp_dest_get_prefix(
-                                                                    dest),
-                                                    old_select, false);
+                               ret = evpn_zebra_uninstall(bgp, vpn,
+                                                          (const struct prefix_evpn
+                                                                   *)
+                                                                  bgp_dest_get_prefix(
+                                                                          dest),
+                                                          old_select, false);
                        else
                                bgp_zebra_route_install(dest, old_select, bgp,
                                                        false, vpn, false);