summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_auth_trailer.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_auth_trailer.c')
-rw-r--r--ospf6d/ospf6_auth_trailer.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ospf6d/ospf6_auth_trailer.c b/ospf6d/ospf6_auth_trailer.c
index 8d9eff4..860d273 100644
--- a/ospf6d/ospf6_auth_trailer.c
+++ b/ospf6d/ospf6_auth_trailer.c
@@ -517,6 +517,15 @@ int ospf6_auth_check_digest(struct ospf6_header *oh, struct ospf6_interface *oi,
}
} else if (CHECK_FLAG(oi->at_data.flags,
OSPF6_AUTH_TRAILER_MANUAL_KEY)) {
+ if (oi->at_data.key_id != ntohs(ospf6_auth->id)) {
+ if (IS_OSPF6_DEBUG_AUTH_RX)
+ zlog_err("RECV[%s]: Auth SA ID mismatch for %s, received %u vs configured %u",
+ oi->interface->name,
+ ospf6_message_type(oh->type),
+ ntohs(ospf6_auth->id),
+ oi->at_data.key_id);
+ return OSPF6_AUTH_VALIDATE_FAILURE;
+ }
auth_str = oi->at_data.auth_key;
hash_algo = oi->at_data.hash_algo;
}