From patchwork Wed Dec 1 08:08:14 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xin, Xiaohui" X-Patchwork-Id: 73753 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 EFE93B7080 for ; Wed, 1 Dec 2010 18:51:32 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753420Ab0LAHq3 (ORCPT ); Wed, 1 Dec 2010 02:46:29 -0500 Received: from mga02.intel.com ([134.134.136.20]:41622 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753339Ab0LAHq0 (ORCPT ); Wed, 1 Dec 2010 02:46:26 -0500 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 30 Nov 2010 23:46:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.59,282,1288594800"; d="scan'208";a="682672327" Received: from unknown (HELO localhost.localdomain.sh.intel.com) ([10.239.36.138]) by orsmga001.jf.intel.com with ESMTP; 30 Nov 2010 23:46:24 -0800 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 v16 03/17] Add a ndo_mp_port_prep pointer to net_device_ops. Date: Wed, 1 Dec 2010 16:08:14 +0800 Message-Id: X-Mailer: git-send-email 1.7.3 In-Reply-To: References: 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 }; /*