summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_evpn.c12
-rw-r--r--bgpd/bgp_evpn_vty.c2
-rw-r--r--bgpd/bgp_route.c6
-rw-r--r--bgpd/bgp_zebra.c4
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) {