[RFC PATCH v9 02/16] Add a new struct for device to manipulate external buffer.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: xiaohui.xin
Date: Friday, August 6, 2010 - 2:23 am

From: Xin Xiaohui <xiaohui.xin@intel.com>

Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
Signed-off-by: Zhao Yu <yzhao81new@gmail.com>
Reviewed-by: Jeff Dike <jdike@linux.intel.com>
---
 include/linux/netdevice.h |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index fa8b476..ba582e1 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -530,6 +530,25 @@ struct netdev_queue {
 	unsigned long		tx_dropped;
 } ____cacheline_aligned_in_smp;
 
+/* Add a structure in structure net_device, the new field is
+ * named as mp_port. It's for mediate passthru (zero-copy).
+ * It contains the capability for the net device driver,
+ * a socket, and an external buffer creator, external means
+ * skb buffer belongs to the device may not be allocated from
+ * kernel space.
+ */
+struct mpassthru_port	{
+	int		hdr_len;
+	int		data_len;
+	int		npages;
+	unsigned	flags;
+	struct socket	*sock;
+	int		vnet_hlen;
+	struct skb_ext_page *(*ctor)(struct mpassthru_port *,
+				struct sk_buff *, int);
+	struct skb_ext_page *(*hash)(struct net_device *,
+				struct page *);
+};
 
 /*
  * This structure defines the management hooks for network devices.
@@ -952,7 +971,8 @@ struct net_device {
 	struct macvlan_port	*macvlan_port;
 	/* GARP */
 	struct garp_port	*garp_port;
-
+	/* mpassthru */
+	struct mpassthru_port	*mp_port;
 	/* class/net/name entry */
 	struct device		dev;
 	/* space for optional device, statistics, and wireless sysfs groups */
-- 
1.5.4.4

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH v9 02/16] Add a new struct for device to manipu ..., xiaohui.xin, (Fri Aug 6, 2:23 am)
[RFC PATCH v9 11/16] Add header file for mp device., xiaohui.xin, (Fri Aug 6, 2:23 am)
Re: [RFC PATCH v9 00/16] Provide a zero-copy method on KVM ..., Michael S. Tsirkin, (Fri Sep 3, 3:14 am)
Re: [RFC PATCH v9 00/16] Provide a zero-copy method on KVM ..., Michael S. Tsirkin, (Fri Sep 3, 3:52 am)
Re: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Michael S. Tsirkin, (Mon Sep 6, 4:11 am)
RE: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Xin, Xiaohui, (Sat Sep 11, 12:41 am)
Re: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Michael S. Tsirkin, (Sun Sep 12, 6:37 am)
Re: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Michael S. Tsirkin, (Wed Sep 15, 4:28 am)
Re: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Michael S. Tsirkin, (Mon Sep 20, 4:36 am)
Re: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Michael S. Tsirkin, (Tue Sep 21, 6:14 am)
Re: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Michael S. Tsirkin, (Wed Sep 22, 4:55 am)
Re: [RFC PATCH v9 12/16] Add mp(mediate passthru) device., Michael S. Tsirkin, (Sun Sep 26, 4:50 am)