From: Thomas Monjalon <thomas@monjalon.net>
To: Hideyuki Yamashita <yamashita.hideyuki@po.ntt-tx.co.jp>
Cc: dev@dpdk.org, "Gaëtan Rivet" <gaetan.rivet@6wind.com>
Subject: Re: [dpdk-dev] How to replace rte_eth_dev_attach with rte_eal_hotplug_add
Date: Thu, 20 Sep 2018 15:02:38 +0200 [thread overview]
Message-ID: <69884841.TAV26K5Juc@xps> (raw)
In-Reply-To: <20180920090919.qigxfgy4qaw6p5om@bidouze.vm.6wind.com>
20/09/2018 11:09, Gaëtan Rivet:
> On Thu, Sep 20, 2018 at 05:46:37PM +0900, Hideyuki Yamashita wrote:
> > Hello,
> >
> > From dpdk 18.08 release rte_eth_dev_attach and
> > rte_eth_dev_detach becom deprecated API and
> > it is recommended to replace with rte_eal_hotplug_add
> > and rte_eal_hotplug_remove.
> >
> > My program uses above mentioned deprecated APIs
> > and have to replace those.
> > Note that my program uses attach to attach vhost, pcap pmd.
> >
> > My question is whether it is correct to replace those as following:
> > find rte_eth_dev_attach function in rte_ethdev.c and
> > migrate those content into my program.
> >
> > e.g.
> > lib/librte_ethdev/rte_ethdev.c line 643-686 for attach
> > lib/librte_ethdev/rte_ethdev.c line 690-720 for detach
> >
> > Your advice/guidance are much appreciated.
> > Thanks!
>
> Hello Hideyuki,
>
> You could use this code for guidance, while leaving the ethdev
> specificities such as verifying the eth_dev_count_total(). The hotplug
> function would already return an error if the PMD was not able to create
> the necessary devices.
>
> The main issue might be to find the port_id of your new port.
> You won't be able to use eth_dev_last_created_port, so you would have to
> iterate over the ethdev using RTE_ETH_FOREACH_DEV and find the one
> matching your parameters (you might for example match the rte_device
> name with the name you used in hotplug_add, as there is no standard
> naming scheme at the ethdev level).
It is recommended to register a callback to receive the notifications
of new ethdev ports.
So it may be a change of programming style: sync vs async.
> An possible issue with the deprecation planned for those two functions is
> that the hotplug API is also meant to evolve [1] this release (not in a big
> way however, it would mostly simplify your usage of it).
>
> [1]: https://mails.dpdk.org/archives/dev/2018-September/111142.html
I will probably not change the existing functions.
A v2 will be sent soon, with new simple functions.
next prev parent reply other threads:[~2018-09-20 13:02 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-20 8:46 Hideyuki Yamashita
2018-09-20 9:09 ` Gaëtan Rivet
2018-09-20 13:02 ` Thomas Monjalon [this message]
2018-09-21 7:19 ` Hideyuki Yamashita
2018-09-21 9:16 ` Thomas Monjalon
2018-09-27 1:38 ` Hideyuki Yamashita
2018-09-27 8:58 ` Thomas Monjalon
2018-09-27 10:40 ` Hideyuki Yamashita
2018-09-27 11:39 ` Thomas Monjalon
2018-10-22 4:34 ` Hideyuki Yamashita
2018-10-22 6:55 ` Thomas Monjalon
2018-10-22 11:24 ` Hideyuki Yamashita
2018-10-22 12:01 ` Thomas Monjalon
2018-10-23 1:52 ` Hideyuki Yamashita
2018-10-23 7:34 ` Thomas Monjalon
2018-10-25 2:54 ` Hideyuki Yamashita
2018-10-25 6:48 ` Thomas Monjalon
2018-10-25 9:46 ` Hideyuki Yamashita
2018-10-25 10:35 ` Thomas Monjalon
2018-09-27 13:48 ` Andrzej Ostruszka
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=69884841.TAV26K5Juc@xps \
--to=thomas@monjalon.net \
--cc=dev@dpdk.org \
--cc=gaetan.rivet@6wind.com \
--cc=yamashita.hideyuki@po.ntt-tx.co.jp \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).