All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "Pattan, Reshma" <reshma.pattan@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [PATCH v4 5/9] lib/librte_pdump: add new library for	packet capturing support
Date: Fri, 27 May 2016 15:25:30 +0000	[thread overview]
Message-ID: <2601191342CEEE43887BDE71AB97725836B68132@irsmsx105.ger.corp.intel.com> (raw)
In-Reply-To: <3AEA2BF9852C6F48A459DA490692831F01044D7E@IRSMSX109.ger.corp.intel.com>



> -----Original Message-----
> From: Pattan, Reshma
> Sent: Friday, May 27, 2016 3:55 PM
> To: Ananyev, Konstantin; dev@dpdk.org
> Cc: Pattan, Reshma
> Subject: RE: [dpdk-dev] [PATCH v4 5/9] lib/librte_pdump: add new library for packet capturing support
> 
> 
> 
> > -----Original Message-----
> > From: Ananyev, Konstantin
> > Sent: Friday, May 27, 2016 2:39 PM
> > To: Pattan, Reshma <reshma.pattan@intel.com>; dev@dpdk.org
> > Cc: Pattan, Reshma <reshma.pattan@intel.com>
> > Subject: RE: [dpdk-dev] [PATCH v4 5/9] lib/librte_pdump: add new library for
> > packet capturing support
> >
> > Hi Reshma,
> 
> > > +static int
> > > +pdump_regitser_callbacks(uint32_t dir, uint16_t end_q,
> > > +			uint8_t port, uint16_t queue,
> > > +			struct rte_ring *ring, struct rte_mempool *mp,
> > > +			uint16_t operation)
> > > +{
> > > +
> > > +	uint16_t qid;
> > > +	struct pdump_rxtx_cbs *cbs = NULL;
> > > +
> > > +	qid = (queue == RTE_PDUMP_ALL_QUEUES) ? 0 : queue;
> > > +	for (; qid < end_q; qid++) {
> > > +		if ((dir & RTE_PDUMP_FLAG_RX) != 0)
> > > +			cbs = &rx_cbs[port][qid];
> > > +		if ((dir & RTE_PDUMP_FLAG_TX) != 0)
> > > +			cbs = &tx_cbs[port][qid];
> >
> > In case you have dir == (RTE_PDUMP_FLAG_RX | RTE_PDUMP_FLAG_TX) you'll
> > overwrite your rx_cbs pointer with tx_cbs pointer.
> > I suppose you need 2 local vars: cbs_rx and cbs_tx here.
> > Again probably worth to have 2 helper functions:
> > pdump_regitser_rx_callback() and pdump_regitser_tx_callback() and call them
> > from that one.
> > Or you'll never invoke that function with dir ==(RTE_PDUMP_FLAG_RX |
> > RTE_PDUMP_FLAG_TX)?
> > If so, it porbably worth to put it into comments, though if it would be me, I still
> > think it would be good to split it in a way I mentioned above.
> >
> 
> Yes,  I never invoke the function with dir ==(RTE_PDUMP_FLAG_RX | RTE_PDUMP_FLAG_TX).

Ok, then at least probably comment it somehow.
Though I still think 2 different variables (and might be functions) would be better.

> 
> > > +
> > > +	dir = p->dir;
> > > +	operation = p->op;
> > > +	if (operation == ENABLE) {
> > > +		if (p->data.en_v1.is_pci_or_name == true) {
> > > +			/* check if device is pci address or name */
> > > +			if (pdump_get_dombdf(p->data.en_v1.device, domBDF)
> > == 0)
> > > +				ret = rte_eth_dev_get_port_by_name(domBDF,
> > &port);
> > > +			else
> > > +				ret = rte_eth_dev_get_port_by_name(p-
> > >data.en_v1.device,
> > > +
> > 	&port);
> >
> >
> > Why we can't force client to have device name in predefined format?
> > Then you woudn't need that name conversion here.
> 
> You mean  I should do the conversion pdump_get_dombdf() in client and then pass that value to server?

Yes.

> 
> >
> > > +			if (ret < 0) {
> > > +				RTE_LOG(ERR, PDUMP,
> > > +					"failed to get potid for device
> > id=%s\n",
> > > +					p->data.en_v1.device);
> > > +				return -EINVAL;
> > > +			}
> > > +		} else /* if device is port id */
> > > +			port = atoi(p->data.en_v1.device);
> >
> > Hmm, again why not make server to accept requests only by device id?
> > Then it would be client responsibility to do port to device id, and you can get rid
> > of some duplicated code here.
> 
> If client is secondary process then  the same port id on primary and secondary processes might be mapping to different devices right?

Yes.

> If so I cannot do port id to device name conversion in client.


Ok, but the client can do either port_enable/disable by client port id,
or (if that device is not mapped on the client) by device_id.

Konstantin


> 
> Thanks,
> Reshma

  reply	other threads:[~2016-05-27 15:25 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-06 10:55 [PATCH 0/5] add packet capture framework Reshma Pattan
2016-05-06 10:55 ` [PATCH 1/5] librte_ether: protect add/remove of rxtx callbacks with spinlocks Reshma Pattan
2016-05-06 10:55 ` [PATCH 2/5] lib/librte_pdump: add new library for packet capturing support Reshma Pattan
2016-05-06 10:55 ` [PATCH 3/5] app/pdump: add pdump tool for packet capturing Reshma Pattan
2016-05-06 10:55 ` [PATCH 4/5] app/test-pmd: add pdump initialization uninitialization Reshma Pattan
2016-05-06 10:55 ` [PATCH 5/5] doc: update doc for packet capture framework Reshma Pattan
2016-05-10  9:39 ` [PATCHv2 0/5] add " Reshma Pattan
2016-05-10  9:39   ` [PATCHv2 1/5] librte_ether: protect add/remove of rxtx callbacks with spinlocks Reshma Pattan
2016-05-10  9:39   ` [PATCHv2 2/5] lib/librte_pdump: add new library for packet capturing support Reshma Pattan
2016-05-10  9:40   ` [PATCHv2 3/5] app/pdump: add pdump tool for packet capturing Reshma Pattan
2016-05-10  9:40   ` [PATCHv2 4/5] app/test-pmd: add pdump initialization uninitialization Reshma Pattan
2016-05-10  9:40   ` [PATCHv2 5/5] doc: update doc for packet capture framework Reshma Pattan
2016-05-10 10:13   ` [PATCHv2 0/5] add " Remy Horton
2016-05-17 16:37   ` [PATCH v3 0/8] " Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 1/8] librte_ether: protect add/remove of rxtx callbacks with spinlocks Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 2/8] librte_ether: add new api rte_eth_add_first_rx_callback Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 3/8] librte_ether: add new fields to rte_eth_dev_info struct Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 4/8] librte_ether: make rte_eth_dev_get_port_by_name api public Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 5/8] lib/librte_pdump: add new library for packet capturing support Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 6/8] app/pdump: add pdump tool for packet capturing Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 7/8] app/test-pmd: add pdump initialization uninitialization Reshma Pattan
2016-05-17 16:37     ` [PATCH v3 8/8] doc: update doc for packet capture framework Reshma Pattan
2016-05-23 21:38     ` [PATCH v4 0/9] add " Reshma Pattan
2016-05-23 21:38       ` [PATCH v4 1/9] librte_ether: protect add/remove of rxtx callbacks with spinlocks Reshma Pattan
2016-05-23 21:38       ` [PATCH v4 2/9] librte_ether: add new api rte_eth_add_first_rx_callback Reshma Pattan
2016-05-23 21:38       ` [PATCH v4 3/9] librte_ether: add new fields to rte_eth_dev_info struct Reshma Pattan
2016-05-23 22:24         ` Stephen Hemminger
2016-05-24  8:09           ` Pattan, Reshma
2016-05-23 21:38       ` [PATCH v4 4/9] librte_ether: make rte_eth_dev_get_port_by_name api public Reshma Pattan
2016-05-23 21:38       ` [PATCH v4 5/9] lib/librte_pdump: add new library for packet capturing support Reshma Pattan
2016-05-27 13:39         ` Ananyev, Konstantin
2016-05-27 14:54           ` Pattan, Reshma
2016-05-27 15:25             ` Ananyev, Konstantin [this message]
2016-05-31 14:55               ` Pattan, Reshma
2016-05-31 15:00           ` Pattan, Reshma
2016-05-23 21:38       ` [PATCH v4 6/9] app/pdump: add pdump tool for packet capturing Reshma Pattan
2016-05-27 15:21         ` Ananyev, Konstantin
2016-05-31 14:50           ` Pattan, Reshma
2016-05-31 17:21             ` Ananyev, Konstantin
2016-06-02 12:31               ` Pattan, Reshma
2016-06-02 14:22                 ` Ananyev, Konstantin
2016-05-23 21:38       ` [PATCH v4 7/9] app/test-pmd: add pdump initialization uninitialization Reshma Pattan
2016-05-23 21:38       ` [PATCH v4 8/9] doc: update doc for packet capture framework Reshma Pattan
2016-05-23 21:38       ` [PATCH v4 9/9] doc: announce ABI change for rte_eth_dev_info structure Reshma Pattan
2016-05-26  8:15       ` [PATCH v4 0/9] add packet capture framework Thomas Monjalon
2016-06-08 13:38       ` [PATCH v5 " Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 1/9] librte_ether: protect add/remove of rxtx callbacks with spinlocks Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 2/9] librte_ether: add new api rte_eth_add_first_rx_callback Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 3/9] librte_ether: add new fields to rte_eth_dev_info struct Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 4/9] librte_ether: make rte_eth_dev_get_port_by_name rte_eth_dev_get_name_by_port public Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 5/9] lib/librte_pdump: add new library for packet capturing support Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 6/9] app/pdump: add pdump tool for packet capturing Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 7/9] app/test-pmd: add pdump initialization uninitialization Reshma Pattan
2016-06-08 13:38         ` [PATCH v5 8/9] doc: update doc for packet capture framework Reshma Pattan
2016-06-08 16:02           ` Mcnamara, John
2016-06-08 13:38         ` [PATCH v5 9/9] doc: announce ABI change for rte_eth_dev_info structure Reshma Pattan
2016-06-08 16:15           ` Mcnamara, John
2016-06-09  8:50         ` [PATCH v6 0/8] add packet capture framework Reshma Pattan
2016-06-09  8:50           ` [PATCH v6 1/8] librte_ether: protect add/remove of rxtx callbacks with spinlocks Reshma Pattan
2016-06-09  8:50           ` [PATCH v6 2/8] librte_ether: add new api rte_eth_add_first_rx_callback Reshma Pattan
2016-06-09  8:50           ` [PATCH v6 3/8] librte_ether: add new fields to rte_eth_dev_info struct Reshma Pattan
2016-06-09  8:50           ` [PATCH v6 4/8] librte_ether: make rte_eth_dev_get_port_by_name rte_eth_dev_get_name_by_port public Reshma Pattan
2016-06-09  8:50           ` [PATCH v6 5/8] lib/librte_pdump: add new library for packet capturing support Reshma Pattan
2016-06-09 15:59             ` Aaron Conole
2016-06-09 16:05               ` Ananyev, Konstantin
2016-06-09 17:23                 ` Aaron Conole
2016-06-09 19:32                   ` Ananyev, Konstantin
2016-06-09 19:56                     ` Aaron Conole
2016-06-10 16:22               ` Pattan, Reshma
2016-06-09  8:50           ` [PATCH v6 6/8] app/pdump: add pdump tool for packet capturing Reshma Pattan
2016-06-09  8:50           ` [PATCH v6 7/8] app/test-pmd: add pdump initialization uninitialization Reshma Pattan
2016-06-09  8:50           ` [PATCH v6 8/8] doc: update doc for packet capture framework Reshma Pattan
2016-06-09 16:10           ` [PATCH v7 0/8] add " Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 1/8] librte_ether: protect add/remove of rxtx callbacks with spinlocks Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 2/8] librte_ether: add new api rte_eth_add_first_rx_callback Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 3/8] librte_ether: add new fields to rte_eth_dev_info struct Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 4/8] librte_ether: make rte_eth_dev_get_port_by_name rte_eth_dev_get_name_by_port public Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 5/8] lib/librte_pdump: add new library for packet capturing support Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 6/8] app/pdump: add pdump tool for packet capturing Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 7/8] app/test-pmd: add pdump initialization uninitialization Reshma Pattan
2016-06-09 16:10             ` [PATCH v7 8/8] doc: update doc for packet capture framework Reshma Pattan
2016-06-09 17:34             ` [PATCH v7 0/8] add " Ananyev, Konstantin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2601191342CEEE43887BDE71AB97725836B68132@irsmsx105.ger.corp.intel.com \
    --to=konstantin.ananyev@intel.com \
    --cc=dev@dpdk.org \
    --cc=reshma.pattan@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.