!= Established)
continue;
- if (aspath_cmp_left(pi1->attr->aspath,
- pi2->attr->aspath)
- || aspath_cmp_left_confed(
+ if (!aspath_cmp_left(pi1->attr->aspath,
+ pi2->attr->aspath)
+ && !aspath_cmp_left_confed(
pi1->attr->aspath,
- pi2->attr->aspath)) {
- if (bgp_path_info_cmp(
- bgp, pi2,
- new_select,
- &paths_eq,
- mpath_cfg, debug,
- pfx_buf, afi,
- safi)) {
- bgp_path_info_unset_flag(
- rn, new_select,
- BGP_PATH_DMED_SELECTED);
- new_select = pi2;
- }
+ pi2->attr->aspath))
+ continue;
- bgp_path_info_set_flag(
- rn, pi2,
- BGP_PATH_DMED_CHECK);
+ if (bgp_path_info_cmp(
+ bgp, pi2, new_select,
+ &paths_eq, mpath_cfg, debug,
+ pfx_buf, afi, safi)) {
+ bgp_path_info_unset_flag(
+ rn, new_select,
+ BGP_PATH_DMED_SELECTED);
+ new_select = pi2;
}
+
+ bgp_path_info_set_flag(
+ rn, pi2, BGP_PATH_DMED_CHECK);
}
}
bgp_path_info_set_flag(rn, new_select,
if (path->extra && bgp_is_valid_label(&path->extra->label[0])
&& safi != SAFI_EVPN) {
mpls_label_t label = label_pton(&path->extra->label[0]);
+
if (json_paths)
json_object_int_add(json_path, "remoteLabel",
label);
/*
* Delete local_nexthops list
*/
- if (bpi->extra && bpi->extra->vnc.export.local_nexthops) {
+ if (bpi->extra && bpi->extra->vnc.export.local_nexthops)
list_delete(&bpi->extra->vnc.export.local_nexthops);
- }
bgp_aggregate_decrement(bgp, p, bpi, afi, safi);
bgp_path_info_delete(bn, bpi);
bgp_mp_list_add(&mp_list, &test_mp_list_info[1]);
new_best = &test_mp_list_info[3];
old_best = NULL;
- bgp_path_info_mpath_update(&test_rn, new_best, old_best, &mp_list, &mp_cfg);
+ bgp_path_info_mpath_update(&test_rn, new_best, old_best, &mp_list,
+ &mp_cfg);
bgp_mp_list_clear(&mp_list);
EXPECT_TRUE(bgp_path_info_mpath_count(new_best) == 2, test_result);
mpath = bgp_path_info_mpath_first(new_best);
bgp_mp_list_add(&mp_list, &test_mp_list_info[1]);
new_best = &test_mp_list_info[0];
old_best = &test_mp_list_info[3];
- bgp_path_info_mpath_update(&test_rn, new_best, old_best, &mp_list, &mp_cfg);
+ bgp_path_info_mpath_update(&test_rn, new_best, old_best, &mp_list,
+ &mp_cfg);
bgp_mp_list_clear(&mp_list);
EXPECT_TRUE(bgp_path_info_mpath_count(new_best) == 1, test_result);
mpath = bgp_path_info_mpath_first(new_best);