diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index 02dd64f1a3..a0cd9edb0e 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -1819,12 +1819,15 @@ static int install_evpn_route_entry_in_vrf(struct bgp *bgp_vrf, /* EVPN routes currently only support a IPv4 next hop which corresponds * to the remote VTEP. When importing into a VRF, if it is IPv6 host - * route, we have to convert the next hop to an IPv4-mapped address - * for the rest of the code to flow through. + * or prefix route, we have to convert the next hop to an IPv4-mapped + * address for the rest of the code to flow through. In the case of IPv4, + * make sure to set the flag for next hop attribute. */ bgp_attr_dup(&attr, parent_ri->attr); if (afi == AFI_IP6) evpn_convert_nexthop_to_ipv6(&attr); + else + attr.flag |= ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP); /* Check if route entry is already present. */ for (ri = rn->info; ri; ri = ri->next)