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

Signed-off-by: Xin Xiaohui <xiaohui....@intel.com>
Signed-off-by: Zhao Yu <yzhao81...@gmail.com>
Reviewed-by: Jeff Dike <jd...@linux.intel.com>
---
 include/linux/netdevice.h |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index fa8b476..bae725c 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -530,6 +530,22 @@ 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;
+       struct skb_external_page *(*ctor)(struct mpassthru_port *,
+                               struct sk_buff *, int);
+};
 
 /*
  * This structure defines the management hooks for network devices.
@@ -952,7 +968,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

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to