From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id CBF752934 for ; Thu, 27 Oct 2016 17:52:49 +0200 (CEST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP; 27 Oct 2016 08:52:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,553,1473145200"; d="scan'208";a="24438213" Received: from irsmsx154.ger.corp.intel.com ([163.33.192.96]) by fmsmga005.fm.intel.com with ESMTP; 27 Oct 2016 08:52:48 -0700 Received: from irsmsx156.ger.corp.intel.com (10.108.20.68) by IRSMSX154.ger.corp.intel.com (163.33.192.96) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 27 Oct 2016 16:52:47 +0100 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.177]) by IRSMSX156.ger.corp.intel.com ([169.254.3.66]) with mapi id 14.03.0248.002; Thu, 27 Oct 2016 16:52:47 +0100 From: "Ananyev, Konstantin" To: Thomas Monjalon , "Kulasek, TomaszX" Thread-Topic: [dpdk-dev] [PATCH v11 1/6] ethdev: add Tx preparation Thread-Index: AQHSL4iZ5WiAYkWG4EqB+e9ej9GU7qC8ViAAgAAd2uA= Date: Thu, 27 Oct 2016 15:52:46 +0000 Message-ID: <2601191342CEEE43887BDE71AB9772583F0CD83D@irsmsx105.ger.corp.intel.com> References: <1477327917-18564-1-git-send-email-tomaszx.kulasek@intel.com> <1477486575-25148-1-git-send-email-tomaszx.kulasek@intel.com> <1477486575-25148-2-git-send-email-tomaszx.kulasek@intel.com> <1499338.8Le0ABsxDG@xps13> In-Reply-To: <1499338.8Le0ABsxDG@xps13> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v11 1/6] ethdev: add Tx preparation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Oct 2016 15:52:50 -0000 >=20 > Hi Tomasz, >=20 > This is a major new function in the API and I still have some comments. >=20 > 2016-10-26 14:56, Tomasz Kulasek: > > --- a/config/common_base > > +++ b/config/common_base > > +CONFIG_RTE_ETHDEV_TX_PREP=3Dy >=20 > We cannot enable it until it is implemented in every drivers. Not sure why? If tx_pkt_prep =3D=3D NULL, then rte_eth_tx_prep() would just act as noop. Right now it is not mandatory for the PMD to implement it. >=20 > > struct rte_eth_dev { > > eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */ > > eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. *= / > > + eth_tx_prep_t tx_pkt_prep; /**< Pointer to PMD transmit prepare funct= ion. */ > > struct rte_eth_dev_data *data; /**< Pointer to device data */ > > const struct eth_driver *driver;/**< Driver for this device */ > > const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */ >=20 > Could you confirm why tx_pkt_prep is not in dev_ops? > I guess we want to have several implementations? Yes, it depends on configuration options, same as tx_pkt_burst. >=20 > Shouldn't we have a const struct control_dev_ops and a struct datapath_de= v_ops? That's probably a good idea, but I suppose it is out of scope for that patc= h. Konstantin