zebra-ospfd-md5auth-seqnum.patch - paulj - change OSPF md5 sequence number
to be derived from time() to speed up synching after restart of ospfd
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index 2156ce3..95d184d 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -321,6 +321,7 @@
   struct md5_ctx ctx;
   void *ibuf;
   unsigned long oldputp;
+  u_int32_t t;
   struct crypt_key *ck;
   char *auth_key;
 
@@ -332,7 +333,9 @@
 
   /* We do this here so when we dup a packet, we don't have to
      waste CPU rewriting other headers. */
-  ospfh->u.crypt.crypt_seqnum = htonl (oi->crypt_seqnum++);
+  t = (time(NULL) & 0xFFFFFFFF);
+  oi->crypt_seqnum = ( t > oi->crypt_seqnum ? t : oi->crypt_seqnum++);
+  ospfh->u.crypt.crypt_seqnum = htonl (oi->crypt_seqnum); 
 
   /* Get MD5 Authentication key from auth_key list. */
   if (list_isempty (OSPF_IF_PARAM (oi, auth_crypt)))