Subject: Re: Gianfar skb panic when bonding a VLAN interface

From: Jay Vosburgh <[email-masked]>
Date: Tue, 30 Oct 2007 12:07:04 -0700

Demke Torsten-atd012 <[email-masked]> wrote:

>I tried to ping over a bonded VLAN tagged interface.
>(e.g  -> ifenslave bond0 eth3.24)
[...]
>It seems that the skb headroom is to small. How can I solve this?
>I could insert skb_realloc_headroom() call, but where it's the best
>place then?
>What about alignement?

	What kernel are you using?  There was a fix applied to the
bonding driver about a year ago to resolve this problem with gianfar:

commit 54ef313714070b397d3857289f0fd099b7643631
Author: Jay Vosburgh <[email-masked]>
Date:   Fri Sep 22 21:53:39 2006 -0700

    [PATCH] bonding: Handle large hard_header_len
    
    The bonding driver fails to adjust its hard_header_len when enslaving
    interfaces.  Whenever an interface with a hard_header_len greater than the
    ETH_HLEN default is enslaved, the potential for an oops exists, and if the
    oops happens while responding to an arp request, for example, the system
    panics.  GIANFAR devices may use an extended hard_header for VLAN or
    hardware checksumming.  Enslaving such a device and then transmitting over
    it causes a kernel panic.
    
    Patch modified from submitter's original, but submitter agreed with this
    patch in private email.
    
    Signed-off-by: Mark Huth <[email-masked]>
    Signed-off-by: Jay Vosburgh <[email-masked]>
    Signed-off-by: Jeff Garzik <[email-masked]>

	-J

---
	-Jay Vosburgh, IBM Linux Technology Center, [email-masked]