Gianfar skb panic when bonding a VLAN interface

Jay Vosburgh fubar at us.ibm.com
Wed Oct 31 06:07:04 EST 2007


Demke Torsten-atd012 <torsten.demke at motorola.com> 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 <fubar at us.ibm.com>
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 <mhuth at mvista.com>
    Signed-off-by: Jay Vosburgh <fubar at us.ibm.com>
    Signed-off-by: Jeff Garzik <jeff at garzik.org>

	-J

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar at us.ibm.com



More information about the Linuxppc-dev mailing list