[quagga-dev 3842] Question about QUAGA RIP ver 1.

Yossi Boaron Yossi.Boaron at veraznetworks.com
Thu Nov 17 15:43:24 GMT 2005


Dear Madam/Sir


Assume the following configuration :

Interface eth0
ip address 192.168.7.172  255.255.255.0 

Interface eth1
ip address 192.168.8.172  255.255.255.0 
RIP send version 1
RIP  recv version 1


2 static routes
==============
ip route 9.1.1.0  255.255.255.0 192.168.7.254
ip route 15.1.1.0  255.255.255.0 192.168.7.254


router rip
redistribute static metric 5.



In which only interface eth1 is enabled(using the corresponding 'network' command) to run RIP.


According to my understanding,  the RIP V1 packets that sent on interface eth1 should include 2 entries :

1. 9.0.0.0 metric 5
2. 15.0.0.0 metric 5


Actually QUAGGA don't generate any RIP packet on this interface.

I think that the cause to this problem is the following code lines in function 'rip_output_process' :

	if (version == RIPv1)
	  {
	    p = (struct prefix_ipv4 *) &rp->p;

	    if (IS_RIP_DEBUG_PACKET)
	      zlog_info("RIPv1 mask check, %s/%d considered for output",
			inet_ntoa (rp->p.u.prefix4), rp->p.prefixlen);

	    if (subnetted &&
		prefix_match ((struct prefix *) &ifaddrclass, &rp->p))
	      {
		if ((ifc->address->prefixlen != rp->p.prefixlen) &&
		    (rp->p.prefixlen != 32))
		  continue;
	      }
	    else
	      {	
		memcpy (&classfull, &rp->p, sizeof(struct prefix_ipv4));
		apply_classful_mask_ipv4(&classfull);
		if (rp->p.u.prefix4.s_addr != 0 &&
		    classfull.prefixlen != rp->p.prefixlen)
		  continue;
	      }
	    if (IS_RIP_DEBUG_PACKET)
	      zlog_info("RIPv1 mask check, %s/%d made it through",
			inet_ntoa (rp->p.u.prefix4), rp->p.prefixlen);
		}
	else 
	  p = (struct prefix_ipv4 *) &rp->p;




I think that's a bug in QUAGGA RIPV1 implmentation,am I missing something ?
I'll appreciate any help/comment.


Thanks
Yossi



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20051117/8acb2df4/attachment-0001.html>


More information about the Quagga-dev mailing list