]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: default originate issue with intf peers and global intf address 1405/head
authorDon Slice <dslice@cumulusnetworks.com>
Fri, 3 Nov 2017 16:45:02 +0000 (16:45 +0000)
committerDon Slice <dslice@cumulusnetworks.com>
Fri, 3 Nov 2017 16:58:46 +0000 (16:58 +0000)
Problem reported that a receiver of a default route issued across bgp
unnumbered peering using default originate would have the route stay
as inactive.  Discovered we were messing up the nexthop value sent to
the peer in this one particular case.  Manual testing good, fix supplied
to the submitter and verified to resolve the problem.  bgp-smoke
completed successfully.

Ticket: CM-18634
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
bgpd/bgp_updgrp_adv.c

index 8a24cba5980394373ddf9499693f214bce315310..b4f18c9f5eb05fc4f334fa9d9fa62b844500a89d 100644 (file)
@@ -691,7 +691,7 @@ void subgroup_default_originate(struct update_subgroup *subgrp, int withdraw)
        p.family = afi2family(afi);
        p.prefixlen = 0;
 
-       if (afi == AFI_IP6) {
+       if ((afi == AFI_IP6) || peer_cap_enhe(peer, afi, safi)) {
                /* IPv6 global nexthop must be included. */
                attr.mp_nexthop_len = BGP_ATTR_NHLEN_IPV6_GLOBAL;