[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ns] arp.cc bug



Hi,

I think I found a bug in the ARP module.

int
ARPTable::arpresolve(nsaddr_t dst, Packet *p, LL *ll)
{

...

	llinfo->count_++;
	if(llinfo->hold_)


//
// I have to cancel the scheduled ARP Request for this dropped packet
//

		drop(llinfo->hold_, DROP_IFQ_ARP_FULL);
	llinfo->hold_ = p;

	/*
	 *  We don't have a MAC address for this node.  Send an ARP Request.
	 *
	 *  XXX: Do I need to worry about the case where I keep ARPing
	 *	 for the SAME destination.
	 */
	int src = node_->address(); // this host's IP addr
	arprequest(src, dst, ll);
	return EADDRNOTAVAIL;
}

In my tracefiles the same ARP request/reply is done two times
consecutively. Is this according to the ARP specification?

Thanks,

Stefan