--- embedaddon/quagga/ospf6d/ospf6_interface.c 2012/10/09 09:22:28 1.1.1.2 +++ embedaddon/quagga/ospf6d/ospf6_interface.c 2013/07/21 23:54:39 1.1.1.3 @@ -394,6 +394,7 @@ ospf6_interface_state_change (u_char next_state, struc ospf6_interface_state_str[prev_state], ospf6_interface_state_str[next_state]); } + oi->state_change++; if ((prev_state == OSPF6_INTERFACE_DR || prev_state == OSPF6_INTERFACE_BDR) && @@ -420,6 +421,17 @@ ospf6_interface_state_change (u_char next_state, struc 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 + }