diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index cdabe35fde..45136cf454 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -12352,11 +12352,16 @@ void bgp_vpn_policy_config_write_afi(struct vty *vty, struct bgp *bgp, { int indent = 2; - if (bgp->vpn_policy[afi].rmap_name[BGP_VPN_POLICY_DIR_FROMVPN]) - vty_out(vty, "%*simport vrf route-map %s\n", indent, "", - bgp->vpn_policy[afi] + if (bgp->vpn_policy[afi].rmap_name[BGP_VPN_POLICY_DIR_FROMVPN]) { + if (listcount(bgp->vpn_policy[afi].import_vrf)) + vty_out(vty, "%*simport vrf route-map %s\n", indent, "", + bgp->vpn_policy[afi] .rmap_name[BGP_VPN_POLICY_DIR_FROMVPN]); - + else + vty_out(vty, "%*sroute-map vpn import %s\n", indent, "", + bgp->vpn_policy[afi] + .rmap_name[BGP_VPN_POLICY_DIR_FROMVPN]); + } if (CHECK_FLAG(bgp->af_flags[afi][SAFI_UNICAST], BGP_CONFIG_VRF_TO_VRF_IMPORT) || CHECK_FLAG(bgp->af_flags[afi][SAFI_UNICAST],