From: Don Slice Date: Fri, 3 Nov 2017 16:45:02 +0000 (+0000) Subject: bgpd: default originate issue with intf peers and global intf address X-Git-Tag: frr-4.0-dev~172^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F1405%2Fhead;p=mirror%2Ffrr.git bgpd: default originate issue with intf peers and global intf address 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 Reviewed-by: Donald Sharp --- diff --git a/bgpd/bgp_updgrp_adv.c b/bgpd/bgp_updgrp_adv.c index 8a24cba598..b4f18c9f5e 100644 --- a/bgpd/bgp_updgrp_adv.c +++ b/bgpd/bgp_updgrp_adv.c @@ -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;