On Wed, Jun 16, 2010 at 03:18:30AM -0700, Andreas Schwierz wrote:
> Hi,
> 
> My asks is, actually, of general nature.
> 
> Who triggers the arp request, the e1000e or the linux-network-subsystem?
> Where is the Ethernet header set (fields like mac-destination or checksum)?
> Which role plays the network controller, the network-subsystem and the  
> driver?
> 
> Thanks in advance
> 
> Andi

ARP is implemented as part of IPv4 in net/ipv4/arp.c, it uses the
generic neighbour subsystem code which maintains a cache of address
resolution results.  When an IPv4 packet is ready to be sent, there's a
call to dst->neighbour->output in ip_finish_output2 (dst is the selected
route).  That calls into the ARP implementation, which looks for a
cached resolution and initiates a new request if needed.

If you can find a copy, the book "Understanding Linux Network Internals"
covers all of this is great detail.

- Chris


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to