From 9483e15540359cbd90b3f6481f1a7390a92167a7 Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 13 Dec 2002 20:55:25 +0000 Subject: zebra-ospfd-md5auth-seqnum.patch - paulj - change OSPF md5 sequence number to be derived from time() to speed up synching after restart of ospfd --- ospfd/ospf_packet.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ospfd/ospf_packet.c') diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index 2156ce33..95d184dc 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -321,6 +321,7 @@ ospf_make_md5_digest (struct ospf_interface *oi, struct ospf_packet *op) struct md5_ctx ctx; void *ibuf; unsigned long oldputp; + u_int32_t t; struct crypt_key *ck; char *auth_key; @@ -332,7 +333,9 @@ ospf_make_md5_digest (struct ospf_interface *oi, struct ospf_packet *op) /* 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))) -- cgit v1.2.1