Re: [PATCH] Gigabit Ethernet driver of Topcliff PCH

Eric Dumazet
2010-09-03T13:43:44Z

Le vendredi 03 septembre 2010 à 22:32 +0900, Masayuki Ohtake a écrit :
> Hi Eric and Stephen
>
> Thank you for your suggestion.
>
> I tried modification of "dev->hard_header_len".
> However, there was no changed to a format of SKB received by kernel.
> [Header:14octet] + [payload]
>
> So, I can not a single memcpy.

Hmm, maybe you did this at the wrong place ?

Take a look at other drivers how they do this

(network stack default hard_header_len to 14, in net/ethernet/eth.c,
function ether_setup())

find drivers/net | xargs grep -n hard_header_len

Example in drivers/net/wan/hdlc.c

static void hdlc_setup_dev(struct net_device *dev)
{
/* Re-init all variables changed by HDLC protocol drivers,
* including ether_setup() called from hdlc_raw_eth.c.
*/
dev->flags = IFF_POINTOPOINT | IFF_NOARP;
dev->priv_flags = IFF_WAN_HDLC;
dev->mtu = HDLC_MAX_MTU;
dev->type = ARPHRD_RAWHDLC;
dev->hard_header_len = 16;
dev->addr_len = 0;
dev->header_ops = &hdlc_null_ops;
}