From 0889da248b248a8e6912683f4dd3e4c9b1ccfba3 Mon Sep 17 00:00:00 2001 From: Karen Schoener Date: Wed, 24 Mar 2021 12:49:59 -0400 Subject: [PATCH] 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 --- ospf6d/ospf6_flood.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c index 2d896546fa..5f4815fec1 100644 --- a/ospf6d/ospf6_flood.c +++ b/ospf6d/ospf6_flood.c @@ -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;