diff options
| -rw-r--r-- | bgpd/bgp_evpn.c | 12 | ||||
| -rw-r--r-- | bgpd/bgp_evpn_vty.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_route.c | 6 | ||||
| -rw-r--r-- | bgpd/bgp_zebra.c | 4 |
4 files changed, 13 insertions, 11 deletions
diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index 448cc91cc7..c1fc45f070 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -862,7 +862,7 @@ static int evpn_route_select_install(struct bgp *bgp, struct bgpevpn *vpn, */ if (old_select && old_select == new_select && old_select->type == ZEBRA_ROUTE_BGP - && old_select->sub_type == BGP_ROUTE_NORMAL + && old_select->sub_type == BGP_ROUTE_IMPORTED && !CHECK_FLAG(rn->flags, BGP_NODE_USER_CLEAR) && !CHECK_FLAG(old_select->flags, BGP_INFO_ATTR_CHANGED) && !bgp->addpath_tx_used[afi][safi]) { @@ -898,7 +898,7 @@ static int evpn_route_select_install(struct bgp *bgp, struct bgpevpn *vpn, } if (new_select && new_select->type == ZEBRA_ROUTE_BGP - && new_select->sub_type == BGP_ROUTE_NORMAL) { + && new_select->sub_type == BGP_ROUTE_IMPORTED) { flags = 0; if (new_select->attr->sticky) SET_FLAG(flags, ZEBRA_MACIP_TYPE_STICKY); @@ -919,7 +919,7 @@ static int evpn_route_select_install(struct bgp *bgp, struct bgpevpn *vpn, evpn_delete_old_local_route(bgp, vpn, rn, old_select); } else { if (old_select && old_select->type == ZEBRA_ROUTE_BGP - && old_select->sub_type == BGP_ROUTE_NORMAL) + && old_select->sub_type == BGP_ROUTE_IMPORTED) ret = evpn_zebra_uninstall(bgp, vpn, (struct prefix_evpn *)&rn->p, old_select->attr->nexthop); @@ -1139,7 +1139,7 @@ static int update_evpn_route_entry(struct bgp *bgp, struct bgpevpn *vpn, local_ri = tmp_ri; if (vni_table) { if (tmp_ri->type == ZEBRA_ROUTE_BGP - && tmp_ri->sub_type == BGP_ROUTE_NORMAL + && tmp_ri->sub_type == BGP_ROUTE_IMPORTED && CHECK_FLAG(tmp_ri->flags, BGP_INFO_VALID)) { if (!remote_ri) remote_ri = tmp_ri; @@ -1840,7 +1840,7 @@ static int install_evpn_route_entry_in_vrf(struct bgp *bgp_vrf, attr_new = bgp_attr_intern(&attr); /* Create new route with its attribute. */ - ri = info_make(parent_ri->type, parent_ri->sub_type, 0, + ri = info_make(parent_ri->type, BGP_ROUTE_IMPORTED, 0, parent_ri->peer, attr_new, rn); SET_FLAG(ri->flags, BGP_INFO_VALID); bgp_info_extra_get(ri); @@ -1912,7 +1912,7 @@ static int install_evpn_route_entry(struct bgp *bgp, struct bgpevpn *vpn, attr_new = bgp_attr_intern(parent_ri->attr); /* Create new route with its attribute. */ - ri = info_make(parent_ri->type, parent_ri->sub_type, 0, + ri = info_make(parent_ri->type, BGP_ROUTE_IMPORTED, 0, parent_ri->peer, attr_new, rn); SET_FLAG(ri->flags, BGP_INFO_VALID); bgp_info_extra_get(ri); diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index 58487a682c..3d77199bfd 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -2766,7 +2766,7 @@ DEFUN (bgp_evpn_advertise_type5, rmap_changed = 1; } - if (!(afi == AFI_IP) || (afi == AFI_IP6)) { + if (!(afi == AFI_IP || afi == AFI_IP6)) { vty_out(vty, "%%only ipv4 or ipv6 address families are supported"); return CMD_WARNING; diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 41dff0a7e2..e0c54e0845 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -557,7 +557,8 @@ static int bgp_info_cmp(struct bgp *bgp, struct bgp_info *new, * - BGP_ROUTE_AGGREGATE * - BGP_ROUTE_REDISTRIBUTE */ - if (!(new->sub_type == BGP_ROUTE_NORMAL)) { + if (!(new->sub_type == BGP_ROUTE_NORMAL || + new->sub_type == BGP_ROUTE_IMPORTED)) { if (debug) zlog_debug( "%s: %s wins over %s due to preferred BGP_ROUTE type", @@ -565,7 +566,8 @@ static int bgp_info_cmp(struct bgp *bgp, struct bgp_info *new, return 1; } - if (!(exist->sub_type == BGP_ROUTE_NORMAL)) { + if (!(exist->sub_type == BGP_ROUTE_NORMAL || + new->sub_type == BGP_ROUTE_IMPORTED)) { if (debug) zlog_debug( "%s: %s loses to %s due to preferred BGP_ROUTE type", diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index bc6ee73da8..1e3b2a4f45 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -1043,7 +1043,7 @@ void bgp_zebra_announce(struct bgp_node *rn, struct prefix *p, * Currently presence of rmac in attr denotes * this is an EVPN type-2 route */ - if (!is_zero_mac(&(info->attr->rmac))) + if (info->sub_type == BGP_ROUTE_IMPORTED) SET_FLAG(api.flags, ZEBRA_FLAG_EVPN_ROUTE); if (peer->sort == BGP_PEER_IBGP || peer->sort == BGP_PEER_CONFED @@ -1344,7 +1344,7 @@ void bgp_zebra_withdraw(struct prefix *p, struct bgp_info *info, * Currently presence of rmac in attr denotes * this is an EVPN type-2 route */ - if (!is_zero_mac(&(info->attr->rmac))) + if (info->sub_type == BGP_ROUTE_IMPORTED) SET_FLAG(api.flags, ZEBRA_FLAG_EVPN_ROUTE); if (peer->sort == BGP_PEER_IBGP) { |
