diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c index ba76c9c6967d..19e597ba78f0 100644 --- a/bgpd/bgp_debug.c +++ b/bgpd/bgp_debug.c @@ -2592,6 +2592,7 @@ void bgp_debug_init(void) /* debug bgp nexthop group */ install_element(ENABLE_NODE, &debug_bgp_nexthop_group_cmd); install_element(CONFIG_NODE, &debug_bgp_nexthop_group_cmd); + } /* Return true if this prefix is on the per_prefix_list of prefixes to debug diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index 14d6c350ab9d..54fd40c61c05 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -1537,6 +1537,12 @@ void bgp_zebra_announce_parse_nexthop(struct bgp_path_info *info, bgp_nhg_path_unlink(p_mpinfo[i]); return; } + if (api->nexthops[i].type == NEXTHOP_TYPE_IPV6 && + IS_MAPPED_IPV6(&api->nexthops[i].gate.ipv6)) { + for (i = 0; i < *valid_nh_count; i++) + bgp_nhg_path_unlink(p_mpinfo[i]); + return; + } if (p_mpinfo[i] && p_mpinfo[i]->nexthop && p_mpinfo[i]->nexthop->nexthop && p_mpinfo[i]->nexthop->nexthop->type ==