2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

	* ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
	  not for event ISM_InterfaceDown.  And improve the message by
	  adding the interface flags.
	* if.h: Declare if_flag_dump.

	[backport candidate]
diff --git a/lib/ChangeLog b/lib/ChangeLog
index dcf3776..a69abc5 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* if.h: Declare if_flag_dump.
+
 2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* daemon.c: (daemon) Replace perror with zlog_err.
diff --git a/lib/if.h b/lib/if.h
index 492a63c..f5efda6 100644
--- a/lib/if.h
+++ b/lib/if.h
@@ -227,6 +227,7 @@
 void if_init ();
 void if_dump_all ();
 char *ifindex2ifname (unsigned int);
+extern const char *if_flag_dump(unsigned long);
 
 /* Connected address functions. */
 struct connected *connected_new ();
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index deefce5..2f58678 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,9 @@
+2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
+	  not for event ISM_InterfaceDown.  And improve the message by
+	  adding the interface flags.
+
 2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* ospf_network.c: (ospf_sock_init) Save errno before calling
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index 45dabc5..67fbedd 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -2430,11 +2430,11 @@
       stream_free (ibuf);
       return 0;
     }
-  else if (oi->state == ISM_InterfaceDown)
+  else if (oi->state == ISM_Down)
     {
       zlog_warn ("Ignoring packet from [%s] received on interface that is "
-      		 "down [%s]",
-                 inet_ntoa (iph->ip_src), ifp->name); 
+      		 "down [%s]; interface flags are %s",
+                 inet_ntoa (iph->ip_src), ifp->name, if_flag_dump(ifp->flags));
       stream_free (ibuf);
       return 0;
     }