[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(&notifier_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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.