From: Stephen Hemminger <stephen@networkplumber.org>
To: Matan Azrad <matan@mellanox.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
Stephen Hemminger <sthemmin@microsoft.com>
Subject: Re: [dpdk-dev] [PATCH v5 1/4] examples/multi_process/client_server_mp: check port validity
Date: Wed, 7 Aug 2019 08:15:43 -0700 [thread overview]
Message-ID: <20190807081543.533c1122@hermes.lan> (raw)
In-Reply-To: <AM0PR0502MB401905ACD30CA6A1E234FE57D2D40@AM0PR0502MB4019.eurprd05.prod.outlook.com>
On Wed, 7 Aug 2019 07:02:02 +0000
Matan Azrad <matan@mellanox.com> wrote:
> From: Stephen Hemminger
> > On Wed, 7 Aug 2019 05:38:42 +0000
> > Matan Azrad <matan@mellanox.com> wrote:
> >
> > > From: Stephen Hemminger
> > > > Sent: Wednesday, August 7, 2019 2:09 AM
> > > > To: Matan Azrad <matan@mellanox.com>
> > > > Cc: dev@dpdk.org; Stephen Hemminger <sthemmin@microsoft.com>
> > > > Subject: Re: [dpdk-dev] [PATCH v5 1/4]
> > > > examples/multi_process/client_server_mp: check port validity
> > > >
> > > > On Tue, 6 Aug 2019 20:03:22 +0000
> > > > Matan Azrad <matan@mellanox.com> wrote:
> > > >
> > > > > >
> > > > > > The DPDK has lots of hard coded assumptions of all ports fitting in 64
> > bits.
> > > > > > Examples include testpmd/parameters.c etc.
> > > > >
> > > > > Yes, I understand, but the user should know not to change the
> > > > > default value of RTE_MAX_ETHPORTS, at least it should be
> > documented.
> > > > >
> > > > > > The original concept of a small set of assigned values for
> > > > > > portid is not going to scale. It really should have been more
> > > > > > like ifindex; something that is not used by common API's much
> > > > > > larger range; and
> > > > assigned purely sequentially.
> > > > > >
> > > > > > The API's should all be using names, but the DPDK port naming is
> > > > > > also a mess...
> > > > >
> > > > > Port ID is OK, user can run port info, then to find the wanted
> > > > > port ID and
> > > > configure it by port id list\bitmap.
> > > > >
> > > >
> > > >
> > > > The examples are toy programs. If user changes RTE_MAX_ETHPORTS it
> > > > will break lots of other places. Why put more checks in the
> > > > examples. Sorry, it really would not help to pretend that fixing the
> > example is going to help this.
> > >
> > >
> > > Agree that it is not needed to fix all the places now.
> > > It is better just to update the example documentation that
> > RTE_MAX_ETHPORTS must not be changed when running this application.
> > >
> > > I will ack your series(v7) , Consider to update the doc if you want to be
> > completely perfect here.
> >
> > Perhaps the right place to tell the users is somewhere in the documentation?
> >
> > One place would be here:
> >
> > diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst index
> > f19c1389b6af..a847d9ceda22 100644
> > --- a/doc/guides/faq/faq.rst
> > +++ b/doc/guides/faq/faq.rst
> > @@ -195,3 +195,8 @@ Why can't my application receive packets on my
> > system with UEFI Secure Boot enab
> >
> > If UEFI secure boot is enabled, the Linux kernel may disallow the use of UIO
> > on the system.
> > Therefore, devices for use by DPDK should be bound to the ``vfio-pci``
> > kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
> > +
> > +What is the maximum number of ethernet devices?
> > +-----------------------------------------------
> > +
> > +The limit on the number of Ethernet devices is controlled by the
> > RTE_MAX_ETHPORTS configuration setting. Since many of the applications
> > use a 64 bit value for port mask; the current upper limit is 64 ports.
> >
> I think there are systems with a lot of virtual ports which may use more than 64.
>
> So update all the docs when the mask is defined, would be option too.
It would be good if (ie someone should do it but I don't have time);
to have a new type "port_set" which is a variable length bit mask
It could be backwards compatible with existing usage.
Something like existing cpuset command format.
Examples of the Mask Format:
00000001 # just bit 0 set
40000000,00000000,00000000 # just bit 94 set
00000001,00000000,00000000 # just bit 64 set
000000ff,00000000 # bits 32-39 set
00000000,000e3862 # 1,5,6,11-13,17-19 set
next prev parent reply other threads:[~2019-08-07 15:15 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-09 15:09 [dpdk-dev] [PATCH v3 0/2] examples/client_server_mp: fix port issues Stephen Hemminger
2019-07-09 15:09 ` [dpdk-dev] [PATCH v3 1/2] examples/multi_process/client_server_mp: check port validity Stephen Hemminger
2019-07-09 15:09 ` [dpdk-dev] [PATCH v3 2/2] examples/multi_process - fix crash in mp_client with sparse ports Stephen Hemminger
2019-07-26 16:50 ` [dpdk-dev] [PATCH v4 0/4] examples/client_server_mp: fix port issues Stephen Hemminger
2019-07-26 16:50 ` [dpdk-dev] [PATCH v4 1/4] examples/multi_process/client_server_mp: check port validity Stephen Hemminger
2019-07-30 9:21 ` Matan Azrad
2019-07-30 15:56 ` Stephen Hemminger
2019-07-30 16:39 ` Matan Azrad
2019-07-30 16:50 ` Stephen Hemminger
2019-07-26 16:50 ` [dpdk-dev] [PATCH v4 2/4] examples/multi_process/client_server_mp - fix crash in mp_client with sparse ports Stephen Hemminger
2019-07-26 16:50 ` [dpdk-dev] [PATCH v4 3/4] examples/multi_process/client_server_mp/mp_server: fix style Stephen Hemminger
2019-07-26 16:50 ` [dpdk-dev] [PATCH v4 4/4] examples/multi_process/client_server_mp/mp_server: use ether format address Stephen Hemminger
2019-08-02 2:58 ` [dpdk-dev] [PATCH v5 0/4] examples/client_server_mp: port id fixes Stephen Hemminger
2019-08-02 2:58 ` [dpdk-dev] [PATCH v5 1/4] examples/multi_process/client_server_mp: check port validity Stephen Hemminger
2019-08-02 5:33 ` Matan Azrad
2019-08-02 15:53 ` Stephen Hemminger
2019-08-04 8:31 ` Matan Azrad
2019-08-05 16:00 ` Stephen Hemminger
2019-08-06 8:19 ` Matan Azrad
2019-08-06 15:39 ` Stephen Hemminger
2019-08-06 20:03 ` Matan Azrad
2019-08-06 23:09 ` Stephen Hemminger
2019-08-07 5:38 ` Matan Azrad
2019-08-07 5:53 ` Stephen Hemminger
2019-08-07 7:02 ` Matan Azrad
2019-08-07 15:15 ` Stephen Hemminger [this message]
2019-08-02 2:58 ` [dpdk-dev] [PATCH v5 2/4] examples/multi_process/client_server_mp - fix crash in mp_client with sparse ports Stephen Hemminger
2019-08-02 2:58 ` [dpdk-dev] [PATCH v5 3/4] examples/multi_process/client_server_mp/mp_server: fix style Stephen Hemminger
2019-08-02 11:09 ` David Marchand
2019-08-02 2:58 ` [dpdk-dev] [PATCH v5 4/4] examples/multi_process/client_server_mp/mp_server: use ether format address Stephen Hemminger
2019-08-02 23:52 ` [dpdk-dev] [PATCH v6 0/2] examples/client_server_mp: port id (fixes only) Stephen Hemminger
2019-08-02 23:52 ` [dpdk-dev] [PATCH v6 1/2] examples/multi_process/client_server_mp: check port validity Stephen Hemminger
2019-08-02 23:52 ` [dpdk-dev] [PATCH v6 2/2] examples/multi_process/client_server_mp - fix crash in mp_client with sparse ports Stephen Hemminger
2019-08-05 16:38 ` [dpdk-dev] [PATCH v7 0/2] examples/client_server_mp: port id (fixes only) Stephen Hemminger
2019-08-05 16:38 ` [dpdk-dev] [PATCH v7 1/2] examples/multi_process/client_server_mp: check port validity Stephen Hemminger
2019-08-06 12:07 ` Matan Azrad
2019-11-13 18:53 ` Stephen Hemminger
2019-08-05 16:38 ` [dpdk-dev] [PATCH v7 2/2] examples/multi_process/client_server_mp - fix crash in mp_client with sparse ports Stephen Hemminger
2019-08-07 5:40 ` [dpdk-dev] [PATCH v7 0/2] examples/client_server_mp: port id (fixes only) Matan Azrad
2019-11-25 22:51 ` Thomas Monjalon
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=20190807081543.533c1122@hermes.lan \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=matan@mellanox.com \
--cc=sthemmin@microsoft.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.