[dpdk-dev] Question on examples/multi_process app

Bruce Richardson bruce.richardson at intel.com
Tue Mar 22 22:38:15 CET 2016


On Tue, Mar 22, 2016 at 08:03:42PM +0000, Harish Patil wrote:
> Hi,
> I have a question regarding symmetric_mp and mp_server applications under
> examples/multi_process. In those apps, rte_eth_promiscuous_enable() is
> called before rte_eth_dev_start(). Is this the correct way to initialize
> the port/device? As per the description in
> http://dpdk.org/doc/api/rte__ethdev_8h.html:
> 
> "The functions exported by the application Ethernet API to setup a device
> designated by its port identifier must be invoked in the following order:
> 
> * rte_eth_dev_configure()
> * rte_eth_tx_queue_setup()
> * rte_eth_rx_queue_setup()
> * rte_eth_dev_start()
> 
> Then, the network application can invoke, in any order, the functions
> exported by the Ethernet API to get the MAC address of a given device, to
> get the speed and the status of a device physical link, to
> receive/transmit [burst of] packets, and so on.”
> 
> So should I consider this as an application issue or whether the PMD is
> expected to handle it? If PMD is to handle it, then should the PMD be:
> 
> 1) Rejecting the Promisc config? OR
> 2) Cache the config and apply when dev_start() is called at later point?
> 
> Thanks,
> Harish
> 
Good question. I think most/all of the Intel adapters, - for which the app was
originally written, way back in the day when there were only 2 PMDs in DPDK :)
- will handle the promiscuous mode call either before or after the dev start.
Assuming that's the case, and if it makes life easier for other driver writers,
we should indeed standardize on one supported way of doing things - the way
specified in the documentation being that one way, I would guess.

So, e1000, ixgbe maintainers - do you see any issues with forcing the promiscuous
mode set API to be called after the call to dev_start()?

/Bruce


More information about the dev mailing list