From patchwork Thu Nov 4 09:04:59 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xin, Xiaohui" X-Patchwork-Id: 70109 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 88B9CB70A9 for ; Thu, 4 Nov 2010 19:48:28 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753808Ab0KDIoD (ORCPT ); Thu, 4 Nov 2010 04:44:03 -0400 Received: from mga02.intel.com ([134.134.136.20]:34881 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753516Ab0KDIoA (ORCPT ); Thu, 4 Nov 2010 04:44:00 -0400 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 04 Nov 2010 01:43:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.58,294,1286175600"; d="scan'208";a="570251157" Received: from gw-vmm.sh.intel.com (HELO localhost.localdomain.org) ([10.239.48.110]) by orsmga002.jf.intel.com with ESMTP; 04 Nov 2010 01:43:58 -0700 From: xiaohui.xin@intel.com To: netdev@vger.kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, mst@redhat.com, mingo@elte.hu, davem@davemloft.net, herbert@gondor.apana.org.au, jdike@linux.intel.com Cc: Xin Xiaohui Subject: [PATCH v14 03/17] Add a ndo_mp_port_prep pointer to net_device_ops. Date: Thu, 4 Nov 2010 17:04:59 +0800 Message-Id: X-Mailer: git-send-email 1.7.3 In-Reply-To: <1288861513-5707-1-git-send-email-xiaohui.xin@intel.com> References: <1288861513-5707-1-git-send-email-xiaohui.xin@intel.com> In-Reply-To: References: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Xin Xiaohui If the driver want to allocate external buffers, then it can export it's capability, as the skb buffer header length, the page length can be DMA, etc. The external buffers owner may utilize this. Signed-off-by: Xin Xiaohui Signed-off-by: Zhao Yu Reviewed-by: Jeff Dike --- include/linux/netdevice.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index f6b1870..575777f 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -723,6 +723,12 @@ struct netdev_rx_queue { * int (*ndo_set_vf_port)(struct net_device *dev, int vf, * struct nlattr *port[]); * int (*ndo_get_vf_port)(struct net_device *dev, int vf, struct sk_buff *skb); + * + * int (*ndo_mp_port_prep)(struct net_device *dev, struct mp_port *port); + * If the driver want to allocate external buffers, + * then it can export it's capability, as the skb + * buffer header length, the page length can be DMA, etc. + * The external buffers owner may utilize this. */ #define HAVE_NET_DEVICE_OPS struct net_device_ops { @@ -795,6 +801,10 @@ struct net_device_ops { int (*ndo_fcoe_get_wwn)(struct net_device *dev, u64 *wwn, int type); #endif +#if defined(CONFIG_MEDIATE_PASSTHRU) || defined(CONFIG_MEDIATE_PASSTHRU_MODULE) + int (*ndo_mp_port_prep)(struct net_device *dev, + struct mp_port *port); +#endif }; /*