]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Add null0 route back for aggregate-address route created.
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 30 May 2018 00:04:17 +0000 (20:04 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 30 May 2018 00:04:17 +0000 (20:04 -0400)
The aggregate-address command is not creating the null0
route.  This got lost somewhere in the last year or so.
Add this ability back for BGP route installs into
zebra.

We need this aggregate route installed into the rib
because we are drawing this traffic to us irrelevant
of the number of routes we do have for that prefix.

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

index 7a6b80f3a202ca24237ba921e621eaa40b3dd3e5..e4f4823e6f180c32865d33e6446599aace9e962c 100644 (file)
@@ -1235,13 +1235,6 @@ void bgp_zebra_announce(struct bgp_node *rn, struct prefix *p,
 
        tag = info->attr->tag;
 
-       /*
-        * When we create an aggregate route we must also install a
-        * Null0 route in the RIB
-        */
-       if (info->sub_type == BGP_ROUTE_AGGREGATE)
-               zapi_route_set_blackhole(&api, BLACKHOLE_NULL);
-
        /* If the route's source is EVPN, flag as such. */
        is_evpn = is_route_parent_evpn(info);
        if (is_evpn)
@@ -1381,7 +1374,14 @@ void bgp_zebra_announce(struct bgp_node *rn, struct prefix *p,
        if (has_valid_label && !(CHECK_FLAG(api.flags, ZEBRA_FLAG_EVPN_ROUTE)))
                SET_FLAG(api.message, ZAPI_MESSAGE_LABEL);
 
-       if (info->sub_type != BGP_ROUTE_AGGREGATE)
+       /*
+        * When we create an aggregate route we must also
+        * install a Null0 route in the RIB, so overwrite
+        * what was written into api with a blackhole route
+        */
+       if (info->sub_type == BGP_ROUTE_AGGREGATE)
+               zapi_route_set_blackhole(&api, BLACKHOLE_NULL);
+       else
                api.nexthop_num = valid_nh_count;
 
        SET_FLAG(api.message, ZAPI_MESSAGE_METRIC);