Re: neigh_hh_output function

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

 



On Mon, Jul 01, 2013 at 05:54:49PM +0530, Varun Sharma wrote:
> Hi,
> 
> can anyone briefly help me to understand which value is copy in skb through
> neigh_hh_output(include/net/neighbour.h) ? I print that value but that is
> not mac address .
> 
> I see the hh_len comes from struct hh_cache is 14 .Due to this i think
> mac_header bulid here .But on exploring i found that mac header build  in
> eth_header function .Now What is value copy in  skb through neigh_hh_output
> function ?

Hi Varun,

hh_cache is, indeed, the cached layer 2 header.  It contains (in the
case of Ethernet) the MAC addresses and ethertype.  Layer 2 headers tend
to be the same for all packets in a connection, so Linux tries to cache
them.

I assume that the eth_header function exists for device drivers that
don't support L2 header caching, but I am not sure if there are such
cases.

You can read more about header caching in section 27.8 of "Understanding
Linux Network Internals", by Christian Benvenuti.

Hope this helps,
Vlad

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux