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