Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - ARP cache population and relationship with network driver: (5 Items)
   
ARP cache population and relationship with network driver  
Hi,

I might be getting a bit confused but here goes anyway....

I understand that the arp cache holds the mapping between an ip address and a mac address. Also that this cache is 
populated either manually (arp) or by the stack in response to a broadcast arp request.

What I don't have a clear picture of is where the arp request originates and what populates the cache.

With a ping the icmp packet is passed to the driver which passes it to the FEC. At some point a check is made against 
the ARP table to determine if the MAC address for the ip is available. If not, an ARP request is broadcast to get the ip
 address which populates the ARP cache etc.

Where does this checking and ARP cache population take place? The driver, the FEC, some where else?

Looking at the source for devnp I can find no reference to the ARP cache. Is it supported?... or have I completely 
misunderstood this?

Thanks
Simon
Re: ARP cache population and relationship with network driver  
The driver just sends and receives packets. It generally doesn't look at them other than to determine length. Arp, etc 
is handled above the driver.

Sent from my BlackBerry 10 smartphone on the Rogers network.
From: Simon Conway
Sent: Friday, June 7, 2013 4:48 AM
To: drivers-networking
Reply To: drivers-networking@community.qnx.com
Subject: ARP cache population and relationship with network driver


Hi,

I might be getting a bit confused but here goes anyway....

I understand that the arp cache holds the mapping between an ip address and a mac address. Also that this cache is 
populated either manually (arp) or by the stack in response to a broadcast arp request.

What I don't have a clear picture of is where the arp request originates and what populates the cache.

With a ping the icmp packet is passed to the driver which passes it to the FEC. At some point a check is made against 
the ARP table to determine if the MAC address for the ip is available. If not, an ARP request is broadcast to get the ip
 address which populates the ARP cache etc.

Where does this checking and ARP cache population take place? The driver, the FEC, some where else?

Looking at the source for devnp I can find no reference to the ARP cache. Is it supported?... or have I completely 
misunderstood this?

Thanks
Simon



_______________________________________________

Networking Drivers
http://community.qnx.com/sf/go/post102078
To cancel your subscription to this discussion, please e-mail drivers-networking-unsubscribe@community.qnx.com
Attachment: HTML sf-attachment-mime13615 3.66 KB
Re: ARP cache population and relationship with network driver  
The arp request is generated by the stack (io-pkt) and stored by the stack.



On 2013-06-07 4:47 AM, "Simon Conway" <community-noreply@qnx.com> wrote:

>Hi,
>
>I might be getting a bit confused but here goes anyway....
>
>I understand that the arp cache holds the mapping between an ip address
>and a mac address. Also that this cache is populated either manually
>(arp) or by the stack in response to a broadcast arp request.
>
>What I don't have a clear picture of is where the arp request originates
>and what populates the cache.
>
>With a ping the icmp packet is passed to the driver which passes it to
>the FEC. At some point a check is made against the ARP table to determine
>if the MAC address for the ip is available. If not, an ARP request is
>broadcast to get the ip address which populates the ARP cache etc.
>
>Where does this checking and ARP cache population take place? The driver,
>the FEC, some where else?
>
>Looking at the source for devnp I can find no reference to the ARP cache.
>Is it supported?... or have I completely misunderstood this?
>
>Thanks
>Simon
>
>
>
>_______________________________________________
>
>Networking Drivers
>http://community.qnx.com/sf/go/post102078
>To cancel your subscription to this discussion, please e-mail
>drivers-networking-unsubscribe@community.qnx.com

Re: ARP cache population and relationship with network driver  
Thanks for the replies.

>
> The arp request is generated by the stack (io-pkt) and stored by the stack.
> 

OK, so I should be able to see arp packets being passed to the driver in both directions?

Reason I ask is that I currently have a problem where I do not see any receive packets on my platform and was wondering 
if they were being dropped by the FEC. Seems unlikely from what you say.

When I do a ping from the platform to PC, I see the ARP table updated correctly on the PC, but on the platform the ARP 
table shows... 

   ? (192.168.128.1) at (incomplete) on fec0

Probably because the ARP response has not been received.

If I manually set the ARP table on the platform then the ping transmit works ok. I see packets are being received and 
transmitted from the PC. But nothing at the platform.

Simon
Re: ARP cache population and relationship with network driver  
Hi,

Resolved this some time ago and forgot to report back.
Can now see packets as expected. There were some HW problems.

Thanks for the responses. They helped guide me in the right direction.

Simon