]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: reduce cut-n-paste of bgp_zebra_announce_default for install
authorDonald Sharp <sharpd@nvidia.com>
Sat, 24 Apr 2021 01:31:11 +0000 (21:31 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Wed, 12 May 2021 11:33:08 +0000 (07:33 -0400)
This bit of code was cut-n-pasted all over the place:

               if (!bpa->installed && !bpa->install_in_progress) {
                       bgp_send_pbr_rule_action(bpa, NULL, true);
                       bgp_zebra_announce_default(bgp, nh,
                                                  bpa->afi,
                                                  bpa->table_id, true);
               }

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
bgpd/bgp_pbr.c

index e2e094d0bd9fdc5a52355ddafec32ae0da653aeb..27d868afa1934cb0559a45ca5a623e3ec81320f6 100644 (file)
@@ -1082,6 +1082,15 @@ static void bgp_pbr_bpa_remove(struct bgp_pbr_action *bpa)
        }
 }
 
+static void bgp_pbr_bpa_add(struct bgp_pbr_action *bpa)
+{
+       if (!bpa->installed && !bpa->install_in_progress) {
+               bgp_send_pbr_rule_action(bpa, NULL, true);
+               bgp_zebra_announce_default(bpa->bgp, &bpa->nh, bpa->afi,
+                                          bpa->table_id, true);
+       }
+}
+
 static void bgp_pbr_action_free(void *arg)
 {
        struct bgp_pbr_action *bpa = arg;
@@ -2356,12 +2365,9 @@ static void bgp_pbr_policyroute_add_to_zebra_unit(struct bgp *bgp,
                                return;
                        }
                }
-               if (!bpa->installed && !bpa->install_in_progress) {
-                       bgp_send_pbr_rule_action(bpa, NULL, true);
-                       bgp_zebra_announce_default(bgp, nh,
-                                                  bpa->afi,
-                                                  bpa->table_id, true);
-               }
+
+               bgp_pbr_bpa_add(bpa);
+
                /* ip rule add */
                if (bpr && !bpr->installed)
                        bgp_send_pbr_rule_action(bpa, bpr, true);
@@ -2529,11 +2535,7 @@ static void bgp_pbr_policyroute_add_to_zebra_unit(struct bgp *bgp,
         * it will be suppressed subsequently
         */
        /* ip rule add */
-       if (!bpa->installed && !bpa->install_in_progress) {
-               bgp_send_pbr_rule_action(bpa, NULL, true);
-               bgp_zebra_announce_default(bgp, nh,
-                                          bpa->afi, bpa->table_id, true);
-       }
+       bgp_pbr_bpa_add(bpa);
 
        /* ipset create */
        if (!bpm->installed)