mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 17:18:56 +00:00
isisd: refuse adjacencies with our own system ID
isisd would form an adjacency with another router despite the system IDs being identical. This would later cause an assertion failure like this: assertion=0x555555596db8 "isis_find_vertex (spftree->paths, id, vtype) == ((void *)0)", file=0x555555596c60 "isis_spf.c", line=515, function=0x555555597900 "isis_spf_add2tent") at log.c:619 which is caused by trying to add a path expected to not exist, but suddenly colliding due to the duplicate system ID. * isis_pdu.c: check for system ID collision on receiving Hello Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
parent
91d799e8cd
commit
19f78cebd2
@ -988,6 +988,13 @@ process_lan_hello (int level, struct isis_circuit *circuit, u_char * ssnpa)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!memcmp (hdr.source_id, isis->sysid, ISIS_SYS_ID_LEN))
|
||||||
|
{
|
||||||
|
zlog_warn ("ISIS-Adj (%s): duplicate system ID on interface %s",
|
||||||
|
circuit->area->area_tag, circuit->interface->name);
|
||||||
|
return ISIS_WARNING;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Accept the level 1 adjacency only if a match between local and
|
* Accept the level 1 adjacency only if a match between local and
|
||||||
* remote area addresses is found
|
* remote area addresses is found
|
||||||
|
Loading…
Reference in New Issue
Block a user