[quagga-dev 4246] Re: Bug #272 OSPFD loses peers

Andrew J. Schorr aschorr at telemetry-investments.com
Mon Jul 10 13:51:12 IST 2006


On Mon, Jul 10, 2006 at 05:21:36PM +0100, bugzilla-daemon at allevil.dishone.st wrote:
> http://bugzilla.quagga.net/show_bug.cgi?id=272  
> 
> ------- Additional Comments From egable at gmail.com  2006-07-10 17:21 -------
> Created an attachment (id=94)
>  --> (http://bugzilla.quagga.net/attachment.cgi?id=94&action=view)
> Contains output from show commands and 1000 lines of log.

Looking at the log file, I see two lines repeating every 10 seconds:

2006/07/01 10:06:42 OSPF: Packet 216.25.178.54 [Hello:RECV]: NetworkMask mismatch.
2006/07/01 10:06:42 OSPF: interface eth0:216.25.178.4: ospf_read authentication type mismatch.

This suggests a configuration problem.  Can you please check that all
routers agree on the network masks?  And there also seems to be a problem
with ospf authentication type disagreements among routers.  The attached
patch may shed more light on these problems...

If you can clean that stuff up, it will make it much simpler to focus
on the real problems you are experiencing.

The other alarming message in your log is this:

2006/06/30 20:59:37 OSPF: ospf_recv_packet short read. ip_len 523 bytes read 104

I'm not sure why this could be happening, but it suggests a very strange
situation (peeking at the message header indicates a length of 523 bytes,
but we can only then read 104 bytes).  This code is completely different
in 0.99.1 and later.  I would recommend upgrading so we can get a
better idea of what's going on.  Perhaps the reason 0.99 has not been
working for you is because of the network mask and authentication
problems (which are most likely configuration errors)?

And if you upgrade to a CVS snapshot, you can use the new ospf
router subcommand "log-adjacency-changes" to get a better sense
of when adjacency problems are occurring.

Regards,
Andy

P.S. Paul -- OK to commit the patch to improve the NetworkMask mismatch
warning message?
-------------- next part --------------
Index: ospf_packet.c
===================================================================
RCS file: /var/cvsroot/quagga/ospfd/ospf_packet.c,v
retrieving revision 1.84
diff -b -u -p -r1.84 ospf_packet.c
--- ospf_packet.c	10 Jan 2006 23:27:05 -0000	1.84
+++ ospf_packet.c	10 Jul 2006 16:39:16 -0000
@@ -785,8 +785,9 @@ ospf_hello (struct ip *iph, struct ospf_
       && oi->type != OSPF_IFTYPE_VIRTUALLINK)
     if (oi->address->prefixlen != p.prefixlen)
       {
-	zlog_warn ("Packet %s [Hello:RECV]: NetworkMask mismatch.",
-		   inet_ntoa (ospfh->router_id));
+	zlog_warn ("Packet %s [Hello:RECV]: NetworkMask mismatch on %s (configured prefix length is %d, but hello packet indicates %d).",
+		   inet_ntoa(ospfh->router_id), IF_NAME(oi),
+		   (int)oi->address->prefixlen, (int)p.prefixlen);
 	return;
       }
 
@@ -2253,8 +2254,8 @@ ospf_verify_header (struct stream *ibuf,
   /* Check authentication. */
   if (ospf_auth_type (oi) != ntohs (ospfh->auth_type))
     {
-      zlog_warn ("interface %s: ospf_read authentication type mismatch.",
-		 IF_NAME (oi));
+      zlog_warn ("interface %s: auth-type mismatch, local %d, rcvd %d",
+		 IF_NAME (oi), ospf_auth_type (oi), ntohs (ospfh->auth_type));
       return -1;
     }
 


More information about the Quagga-dev mailing list