ospf6d: Do not flood unknown LSAs if U-bit is clear

Do not flood unknown LSAs if U-bit is clear.

Signed-off-by: Karen Schoener <karen@voltanet.io>
This commit is contained in:
Karen Schoener 2021-03-24 12:49:59 -04:00
parent 817f39203c
commit 0889da248b

View File

@ -463,6 +463,19 @@ static void ospf6_flood_process(struct ospf6_neighbor *from,
struct ospf6_area *oa;
for (ALL_LIST_ELEMENTS(process->area_list, node, nnode, oa)) {
/* If unknown LSA and U-bit clear, treat as link local
* flooding scope
*/
if (!OSPF6_LSA_IS_KNOWN(lsa->header->type)
&& !(ntohs(lsa->header->type) & OSPF6_LSTYPE_UBIT_MASK)
&& (oa != OSPF6_INTERFACE(lsa->lsdb->data)->area)) {
if (IS_OSPF6_DEBUG_FLOODING)
zlog_debug("Unknown LSA, do not flood");
continue;
}
if (OSPF6_LSA_SCOPE(lsa->header->type) == OSPF6_SCOPE_AREA
&& oa != OSPF6_AREA(lsa->lsdb->data))
continue;