mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 18:04:03 +00:00
Merge pull request #13161 from Orange-OpenSource/isis_te
isisd: Correction of subnets creation in the TED
This commit is contained in:
commit
13ab57d98b
@ -1075,9 +1075,21 @@ static int lsp_to_subnet_cb(const struct prefix *prefix, uint32_t metric,
|
|||||||
}
|
}
|
||||||
if (!std)
|
if (!std)
|
||||||
prefix_copy(&p, prefix);
|
prefix_copy(&p, prefix);
|
||||||
else
|
else {
|
||||||
|
/* Remove old subnet if any before prefix adjustment */
|
||||||
|
subnet = ls_find_subnet(args->ted, *prefix);
|
||||||
|
if (subnet) {
|
||||||
|
if (args->export) {
|
||||||
|
subnet->status = DELETE;
|
||||||
|
isis_te_export(LS_MSG_TYPE_PREFIX, subnet);
|
||||||
|
}
|
||||||
|
te_debug(" |- Remove subnet with prefix %pFX",
|
||||||
|
&subnet->key);
|
||||||
|
ls_subnet_del_all(args->ted, subnet);
|
||||||
|
}
|
||||||
te_debug(" |- Adjust prefix %pFX with local address to: %pFX",
|
te_debug(" |- Adjust prefix %pFX with local address to: %pFX",
|
||||||
prefix, &p);
|
prefix, &p);
|
||||||
|
}
|
||||||
|
|
||||||
/* Search existing Subnet in TED ... */
|
/* Search existing Subnet in TED ... */
|
||||||
subnet = ls_find_subnet(args->ted, p);
|
subnet = ls_find_subnet(args->ted, p);
|
||||||
@ -1085,6 +1097,7 @@ static int lsp_to_subnet_cb(const struct prefix *prefix, uint32_t metric,
|
|||||||
if (!subnet) {
|
if (!subnet) {
|
||||||
ls_pref = ls_prefix_new(vertex->node->adv, p);
|
ls_pref = ls_prefix_new(vertex->node->adv, p);
|
||||||
subnet = ls_subnet_add(args->ted, ls_pref);
|
subnet = ls_subnet_add(args->ted, ls_pref);
|
||||||
|
/* Stop processing if we are unable to create a new subnet */
|
||||||
if (!subnet)
|
if (!subnet)
|
||||||
return LSP_ITER_CONTINUE;
|
return LSP_ITER_CONTINUE;
|
||||||
}
|
}
|
||||||
|
@ -790,7 +790,7 @@ static int sharp_opaque_handler(ZAPI_CALLBACK_ARGS)
|
|||||||
zclient->session_id, info.type);
|
zclient->session_id, info.type);
|
||||||
|
|
||||||
if (info.type == LINK_STATE_UPDATE) {
|
if (info.type == LINK_STATE_UPDATE) {
|
||||||
lse = ls_stream2ted(sg.ted, s, false);
|
lse = ls_stream2ted(sg.ted, s, true);
|
||||||
if (lse) {
|
if (lse) {
|
||||||
zlog_debug(" |- Got %s %s from Link State Database",
|
zlog_debug(" |- Got %s %s from Link State Database",
|
||||||
status2txt[lse->status],
|
status2txt[lse->status],
|
||||||
|
Loading…
Reference in New Issue
Block a user