summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_interface.c')
-rw-r--r--ospf6d/ospf6_interface.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c
index 6f7aaa8a..40cda246 100644
--- a/ospf6d/ospf6_interface.c
+++ b/ospf6d/ospf6_interface.c
@@ -421,6 +421,17 @@ ospf6_interface_state_change (u_char next_state, struct ospf6_interface *oi)
OSPF6_INTRA_PREFIX_LSA_SCHEDULE_TRANSIT (oi);
OSPF6_INTRA_PREFIX_LSA_SCHEDULE_STUB (oi->area);
}
+
+#ifdef HAVE_SNMP
+ /* Terminal state or regression */
+ if ((next_state == OSPF6_INTERFACE_POINTTOPOINT) ||
+ (next_state == OSPF6_INTERFACE_DROTHER) ||
+ (next_state == OSPF6_INTERFACE_BDR) ||
+ (next_state == OSPF6_INTERFACE_DR) ||
+ (next_state < prev_state))
+ ospf6TrapIfStateChange (oi);
+#endif
+
}