[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/2] netfront skb padding
It appears that when alloc'ing a skb, it is bring padded by an arbitrarily (and excessive) long value. The value for this padding really only needs to be 24. 24 = 14 for the ethernet header + 2 for the cache alignment + 4 for the CRC + 4 for the VLAN flags. Tested on Xen 2.0.3 and linux 2.6.10 kernel. Signed-off-by: Jon Mason <jdmason@xxxxxxxxxx> --- --- drivers/xen/netfront/netfront.c.new 2005-02-08 19:09:31.368834000 -0600 +++ drivers/xen/netfront/netfront.c 2005-02-08 19:09:24.738834000 -0600 @@ -50,6 +50,8 @@ #include <asm-xen/balloon.h> #include <asm/page.h> +#define NETFRONT_VERSION "1.1" + #ifndef __GFP_NOWARN #define __GFP_NOWARN 0 #endif @@ -62,8 +64,11 @@ skb_shinfo(_skb)->frag_list = NULL; \ } while (0) -/* Allow headroom on each rx pkt for Ethernet header, alignment padding, ... */ -#define RX_HEADROOM 200 +/* + * Allow headroom on each rx pkt for Ethernet header, alignment padding, + * CRC, and VLAN + */ +#define RX_HEADROOM ETH_HLEN + NET_IP_ALIGN + 8 /* * If the backend driver is pipelining transmit requests then we can be very @@ -1248,7 +1253,8 @@ static int __init netif_init(void) if (xen_start_info.flags & SIF_INITDOMAIN) return 0; - IPRINTK("Initialising virtual ethernet driver.\n"); + IPRINTK("Initialising virtual ethernet driver, version %s\n", + NETFRONT_VERSION); INIT_LIST_HEAD(&dev_list); (void)register_inetaddr_notifier(¬ifier_inetdev); netctrl_init(); ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |