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

Re: [ns] arp.cc bug



Hi,
I think that it is not a bug: each time a new packet with an unresolved
address is arriving at the LL layer, a new ARP request is sent and if
there is any packet in the ARP buffer for the same unresolved address,
this packet is dropped.
bye,
Marceau

Stefan Rank wrote:
> 
> 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

-- 
Marceau Coupechoux
--------------------------------------
Alcatel CIT Corporate Research Center
Radio Department (UTR)

Route de Nozay 91460 Marcoussis France
tel : 01 69 63 43 59 fax : 43 60
mel : [email protected]
--------------------------------------