[quagga-dev 3746] Re: [Quagga-bugs] [Bug 220] New: ripd doesn't recognize ethernet peer to peer addresses under Linux

Andrew J. Schorr aschorr at telemetry-investments.com
Sat Oct 22 20:20:07 BST 2005


On Sat, Oct 22, 2005 at 09:07:23PM +0200, Arkadiusz Miskiewicz wrote:
> Interface eth0 is up, line protocol detection is disabled
>   index 4 metric 1 mtu 1500 <UP,BROADCAST,RUNNING,MULTICAST>
>   HWaddr2: 00:11:d8:b3:26:fd
>   inet 192.168.0.250/24 broadcast 192.168.0.255
>   inet 1.1.1.1/32 broadcast 2.2.2.2

OK, that looks pretty good.

> The log is flooded by:
> 2005/10/22 20:59:44 RIP: Neighbor 2.2.2.2 doesnt have connected interface!
> 2005/10/22 21:00:11 RIP: Neighbor 2.2.2.2 doesnt have connected interface!
> 2005/10/22 21:00:36 RIP: Neighbor 2.2.2.2 doesnt have connected interface!
> 2005/10/22 21:01:06 RIP: Neighbor 2.2.2.2 doesnt have connected interface!

I'm not surprised.  There are a bunch of places in the code where
one finds the CONNECTED_POINTOPOINT_HOST macro.  That may need
to be replaced everywhere with the CONNECTED_DEST_HOST macro to get
your configuration to work.  But I don't know if making that change
will break other configurations...

Give the attached patch a try and see if it helps.  This is in addition
to the patch you have already applied.

Regards,
Andy
-------------- next part --------------
Index: lib/if.c
===================================================================
RCS file: /var/cvsroot/quagga/lib/if.c,v
retrieving revision 1.31
diff -b -u -p -r1.31 if.c
--- lib/if.c	6 May 2005 21:25:49 -0000	1.31
+++ lib/if.c	22 Oct 2005 19:19:25 -0000
@@ -291,7 +291,7 @@ if_lookup_address (struct in_addr src)
 	{
 	  if (c->address && (c->address->family == AF_INET))
 	    {
-	      if (CONNECTED_POINTOPOINT_HOST(c))
+	      if (CONNECTED_DEST_HOST(c))
 		{
 		 /* PTP  links are conventionally identified 
 		    by the address of the far end - MAG */
@@ -697,7 +697,7 @@ connected_lookup_address (struct interfa
     {
       if (c->address && (c->address->family == AF_INET))
         {
-	  if (CONNECTED_POINTOPOINT_HOST(c))
+	  if (CONNECTED_DEST_HOST(c))
 	    {
 		     /* PTP  links are conventionally identified 
 			by the address of the far end - MAG */
Index: zebra/connected.c
===================================================================
RCS file: /var/cvsroot/quagga/zebra/connected.c,v
retrieving revision 1.18
diff -b -u -p -r1.18 connected.c
--- zebra/connected.c	11 Oct 2005 03:53:54 -0000	1.18
+++ zebra/connected.c	22 Oct 2005 19:19:25 -0000
@@ -126,7 +126,7 @@ connected_up_ipv4 (struct interface *ifp
   p.prefixlen = addr->prefixlen;
 
   /* Point-to-point check. */
-  if (CONNECTED_POINTOPOINT_HOST(ifc))
+  if (CONNECTED_DEST_HOST(ifc))
     p.prefix = dest->prefix;
   else
     p.prefix = addr->prefix;
@@ -246,7 +246,7 @@ connected_down_ipv4 (struct interface *i
   p.prefixlen = addr->prefixlen;
 
   /* Point-to-point check. */
-  if (CONNECTED_POINTOPOINT_HOST(ifc))
+  if (CONNECTED_DEST_HOST(ifc))
     p.prefix = dest->prefix;
   else
     p.prefix = addr->prefix;


More information about the Quagga-dev mailing list