summaryrefslogtreecommitdiff
path: root/ospfd/ospf_flood.c
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2023-07-11 11:47:32 -0400
committerGitHub <noreply@github.com>2023-07-11 11:47:32 -0400
commit6e89a5db228c75d83f9be7b3606b91257e0307d3 (patch)
tree3d8e0dc9474ea768c653b4d7697cbf1fe5c07112 /ospfd/ospf_flood.c
parentc8971388a9013ffb65b4de20fd1553f6e1e94311 (diff)
parente72549c8f6f7b25738f8d4c913db025a7906558e (diff)
Merge pull request #13691 from LabNConsulting/aceelindem/ospf-opaque-interface-disable
ospfd: Configurable interface-level 'capability opaque' support
Diffstat (limited to 'ospfd/ospf_flood.c')
-rw-r--r--ospfd/ospf_flood.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c
index 5ae15fd887..dd8c9268f1 100644
--- a/ospfd/ospf_flood.c
+++ b/ospfd/ospf_flood.c
@@ -568,6 +568,15 @@ int ospf_flood_through_interface(struct ospf_interface *oi,
if (!ospf_if_is_enable(oi))
return 0;
+ if (IS_OPAQUE_LSA(lsa->data->type) &&
+ !OSPF_IF_PARAM(oi, opaque_capable)) {
+ if (IS_DEBUG_OSPF(lsa, LSA_FLOODING))
+ zlog_debug(
+ "%s: Skipping interface %s (%s) with opaque disabled.",
+ __func__, IF_NAME(oi), ospf_get_name(oi->ospf));
+ return 0;
+ }
+
/* If flood reduction is configured, set the DC bit on the lsa. */
if (IS_LSA_SELF(lsa)) {
if (OSPF_FR_CONFIG(oi->area->ospf, oi->area)) {