From: "Zhang, RobinX" <robinx.zhang@intel.com>
To: "Richardson, Bruce" <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"Yang, Qiming" <qiming.yang@intel.com>,
"Zhang, Qi Z" <qi.z.zhang@intel.com>,
"Yang, SteveX" <stevex.yang@intel.com>
Subject: RE: [PATCH v2] common/sff_module: add telemetry command to dump module EEPROM
Date: Fri, 8 Apr 2022 11:20:23 +0000 [thread overview]
Message-ID: <BN9PR11MB5529217D8EE6906E354842A59BE99@BN9PR11MB5529.namprd11.prod.outlook.com> (raw)
In-Reply-To: <YlAV1VtKpLVYBN+v@bricha3-MOBL.ger.corp.intel.com>
Hi Bruce
> -----Original Message-----
> From: Richardson, Bruce <bruce.richardson@intel.com>
> Sent: Friday, April 8, 2022 7:01 PM
> To: Zhang, RobinX <robinx.zhang@intel.com>
> Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Yang, SteveX <stevex.yang@intel.com>
> Subject: Re: [PATCH v2] common/sff_module: add telemetry command to
> dump module EEPROM
>
> On Fri, Apr 08, 2022 at 11:55:07AM +0100, Zhang, RobinX wrote:
> > Hi Bruce,
> >
> > > -----Original Message-----
> > > From: Richardson, Bruce <bruce.richardson@intel.com>
> > > Sent: Friday, April 8, 2022 6:33 PM
> > > To: Zhang, RobinX <robinx.zhang@intel.com>
> > > Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z
> > > <qi.z.zhang@intel.com>; Yang, SteveX <stevex.yang@intel.com>
> > > Subject: Re: [PATCH v2] common/sff_module: add telemetry command
> to
> > > dump module EEPROM
> > >
> > > On Fri, Apr 08, 2022 at 10:23:30AM +0000, Robin Zhang wrote:
> > > > This patch introduce a new telemetry command '/sff_module/info'
> > > > to dump format module EEPROM information.
> > > >
> > > > The format support for SFP(Small Formfactor Pluggable)/SFP+
> > > > /QSFP+(Quad Small Formfactor Pluggable)/QSFP28 modules based on
> > > > SFF(Small Form Factor) Committee specifications
> > > > SFF-8079/SFF-8472/SFF-8024/SFF-8636.
> > > >
> > > > Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
> > > > ---
> > > >
> > > > v2:
> > > > - Redesign the dump function as a telemetry command, so that the
> > > EEPROM
> > > > information can be used by other app.
> > > >
> > > > - The usage like this:
> > > >
> > > > Launch the primary application with telemetry:
> > > > Take testpmd as example: ./app/dpdk-testpmd
> > > >
> > > > Then launch the telemetry client script:
> > > > ./usertools/dpdk-telemetry.py
> > > >
> > > > In telemetry client run command:
> > > > --> /sff_module/info,<port number>
> > > >
> > > > Both primary application and telemetry client will show the formated
> > > > module EEPROM information.
> > > >
> > > > drivers/common/meson.build | 1 +
> > > > drivers/common/sff_module/meson.build | 16 +
> > > > drivers/common/sff_module/sff_8079.c | 672 ++++++++++++++
> > > > drivers/common/sff_module/sff_8472.c | 301 ++++++
> > > > drivers/common/sff_module/sff_8636.c | 1004
> > > +++++++++++++++++++++
> > > > drivers/common/sff_module/sff_8636.h | 592 ++++++++++++
> > > > drivers/common/sff_module/sff_common.c | 415 +++++++++
> > > > drivers/common/sff_module/sff_common.h | 192 ++++
> > > > drivers/common/sff_module/sff_telemetry.c | 142 +++
> > > > drivers/common/sff_module/sff_telemetry.h | 41 +
> > > > drivers/common/sff_module/version.map | 9 +
> > > > 11 files changed, 3385 insertions(+) create mode 100644
> > > > drivers/common/sff_module/meson.build
> > > > create mode 100644 drivers/common/sff_module/sff_8079.c
> > > > create mode 100644 drivers/common/sff_module/sff_8472.c
> > > > create mode 100644 drivers/common/sff_module/sff_8636.c
> > > > create mode 100644 drivers/common/sff_module/sff_8636.h
> > > > create mode 100644 drivers/common/sff_module/sff_common.c
> > > > create mode 100644 drivers/common/sff_module/sff_common.h
> > > > create mode 100644 drivers/common/sff_module/sff_telemetry.c
> > > > create mode 100644 drivers/common/sff_module/sff_telemetry.h
> > > > create mode 100644 drivers/common/sff_module/version.map
> > > >
> > > Is this is whole new driver just to provide telemetry dumps of SFP
> > > information? I can understand the problem somewhat - though I am in
> > > some doubt that telemetry is the best way to expose this information
> > > - but creating a new driver seems the wrong approach here. SFPs are
> > > for NIC devices, so why isn't this available in a common API such as
> ethdev?
> > >
> >
> > I have considered add this function as a new telemetry command of
> ethdev (like '/ethdev/sff_module_info') to dump these SFP information.
> > But I'm not sure if it's acceptable to add all these production code
> (sff_8xxx.c) into lib/ethdev?
> > If it's OK, I can make V3 patches to change it as a telemetry command of
> ethdev.
> >
>
> Hi,
>
> I think some discussion is needed before you go preparing a new version of
> this patchset.
>
> Some initial questions:
>
> 1. Does SFF code apply only to Intel products/NICs or is it multi-vendor?
The SFF code apply to multi-vendor.
In fact, it's applied to all the NIC driver which implemented dev_ops->get_module_eeprom.
> 2. For the driver approach you previously took, how was the presence of
> hardware detected to load the driver?
The purpose of put these production code into drivers/common is want to treat it as a common function for NIC drivers.
It will not related to any presence of hardware.
> 3. Does this work on SFPs need to interact with the NIC drivers in any way?
>
Yes, just like my answer in question 1, the module EEPROM raw data is get from dev_ops->get_module_eeprom.
So need the NIC drivers to implement dev_ops->get_module_eeprom.
> Thanks,
> /Bruce
next prev parent reply other threads:[~2022-04-08 11:20 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-15 10:18 [PATCH] app/testpmd: format dump information of " Robin Zhang
2022-02-15 13:28 ` Ferruh Yigit
2022-02-15 15:07 ` Thomas Monjalon
2022-02-16 2:26 ` Zhang, RobinX
2022-02-16 8:03 ` David Marchand
2022-02-16 8:45 ` Thomas Monjalon
2022-02-16 9:30 ` Bruce Richardson
2022-02-16 9:41 ` David Marchand
2022-02-16 10:02 ` Bruce Richardson
2022-02-16 10:15 ` David Marchand
2022-04-08 10:23 ` [PATCH v2] common/sff_module: add telemetry command to dump " Robin Zhang
2022-04-08 10:33 ` Bruce Richardson
2022-04-08 10:55 ` Zhang, RobinX
2022-04-08 11:00 ` Bruce Richardson
2022-04-08 11:20 ` Zhang, RobinX [this message]
2022-04-08 11:26 ` Bruce Richardson
2022-04-11 8:13 ` Zhang, RobinX
2022-04-11 9:13 ` Bruce Richardson
2022-04-13 12:13 ` Thomas Monjalon
2022-04-14 7:41 ` David Marchand
2022-04-20 7:00 ` [PATCH v3 0/5] add telemetry command for show " Robin Zhang
2022-04-20 7:00 ` [PATCH v3 1/5] ethdev: add telemetry command for " Robin Zhang
2022-04-20 9:16 ` Andrew Rybchenko
2022-04-20 7:00 ` [PATCH v3 2/5] ethdev: common utilities for different SFF specs Robin Zhang
2022-04-20 7:00 ` [PATCH v3 3/5] ethdev: format module EEPROM for SFF-8079 Robin Zhang
2022-04-20 7:00 ` [PATCH v3 4/5] ethdev: format module EEPROM for SFF-8472 Robin Zhang
2022-04-20 7:00 ` [PATCH v3 5/5] ethdev: format module EEPROM for SFF-8636 Robin Zhang
2022-04-20 8:49 ` [PATCH v3 0/5] add telemetry command for show module EEPROM Morten Brørup
2022-04-25 5:34 ` [PATCH v4 " Robin Zhang
2022-04-25 5:34 ` [PATCH v4 1/5] ethdev: add telemetry command for " Robin Zhang
2022-04-25 5:34 ` [PATCH v4 2/5] ethdev: common utilities for different SFF specs Robin Zhang
2022-04-25 5:34 ` [PATCH v4 3/5] ethdev: format module EEPROM for SFF-8079 Robin Zhang
2022-04-25 5:34 ` [PATCH v4 4/5] ethdev: format module EEPROM for SFF-8472 Robin Zhang
2022-04-25 5:34 ` [PATCH v4 5/5] ethdev: format module EEPROM for SFF-8636 Robin Zhang
2022-04-26 2:43 ` [PATCH v5 0/5] add telemetry command for show module EEPROM Robin Zhang
2022-04-26 2:43 ` [PATCH v5 1/5] ethdev: add telemetry command for " Robin Zhang
2022-05-04 10:16 ` Andrew Rybchenko
2022-04-26 2:43 ` [PATCH v5 2/5] ethdev: common utilities for different SFF specs Robin Zhang
2022-04-26 2:43 ` [PATCH v5 3/5] ethdev: format module EEPROM for SFF-8079 Robin Zhang
2022-04-26 2:43 ` [PATCH v5 4/5] ethdev: format module EEPROM for SFF-8472 Robin Zhang
2022-04-26 2:43 ` [PATCH v5 5/5] ethdev: format module EEPROM for SFF-8636 Robin Zhang
2022-05-04 8:13 ` [PATCH v5 0/5] add telemetry command for show module EEPROM Andrew Rybchenko
2022-05-11 2:14 ` [PATCH v6 " Robin Zhang
2022-05-11 2:14 ` [PATCH v6 1/5] ethdev: add telemetry command for " Robin Zhang
2022-05-11 2:14 ` [PATCH v6 2/5] ethdev: common utilities for different SFF specs Robin Zhang
2022-05-11 2:14 ` [PATCH v6 3/5] ethdev: format module EEPROM for SFF-8079 Robin Zhang
2022-05-11 2:14 ` [PATCH v6 4/5] ethdev: format module EEPROM for SFF-8472 Robin Zhang
2022-05-19 8:33 ` Andrew Rybchenko
2022-05-11 2:14 ` [PATCH v6 5/5] ethdev: format module EEPROM for SFF-8636 Robin Zhang
2022-05-24 6:24 ` [PATCH v7 0/5] add telemetry command for show module EEPROM Robin Zhang
2022-05-24 6:24 ` [PATCH v7 1/5] ethdev: add telemetry command for " Robin Zhang
2022-05-24 6:24 ` [PATCH v7 2/5] ethdev: common utilities for different SFF specs Robin Zhang
2022-05-24 6:24 ` [PATCH v7 3/5] ethdev: format module EEPROM for SFF-8079 Robin Zhang
2022-05-24 6:24 ` [PATCH v7 4/5] ethdev: format module EEPROM for SFF-8472 Robin Zhang
2022-05-24 6:24 ` [PATCH v7 5/5] ethdev: format module EEPROM for SFF-8636 Robin Zhang
2022-05-24 9:03 ` David Marchand
2022-05-25 2:43 ` Zhang, RobinX
2022-05-25 3:14 ` [PATCH v8 0/5] add telemetry command for show module EEPROM Robin Zhang
2022-05-25 3:14 ` [PATCH v8 1/5] ethdev: add telemetry command for " Robin Zhang
2022-05-25 9:24 ` Andrew Rybchenko
2022-05-25 3:14 ` [PATCH v8 2/5] ethdev: common utilities for different SFF specs Robin Zhang
2022-05-25 8:51 ` Andrew Rybchenko
2022-05-25 9:40 ` Andrew Rybchenko
2022-05-25 3:14 ` [PATCH v8 3/5] ethdev: format module EEPROM for SFF-8079 Robin Zhang
2022-05-25 9:55 ` Andrew Rybchenko
2022-05-25 3:14 ` [PATCH v8 4/5] ethdev: format module EEPROM for SFF-8472 Robin Zhang
2022-05-25 11:58 ` Andrew Rybchenko
2022-05-25 3:14 ` [PATCH v8 5/5] ethdev: format module EEPROM for SFF-8636 Robin Zhang
2022-05-25 9:01 ` Andrew Rybchenko
2022-05-25 12:01 ` Andrew Rybchenko
2022-05-26 7:32 ` [PATCH v9 0/5] add telemetry command for show module EEPROM Robin Zhang
2022-05-26 7:32 ` [PATCH v9 1/5] ethdev: add telemetry command for " Robin Zhang
2022-05-26 7:32 ` [PATCH v9 2/5] ethdev: add common code for different SFF specs Robin Zhang
2022-05-26 7:32 ` [PATCH v9 3/5] ethdev: support SFF-8079 module information telemetry Robin Zhang
2022-05-26 7:32 ` [PATCH v9 4/5] ethdev: support SFF-8472 " Robin Zhang
2022-05-26 7:32 ` [PATCH v9 5/5] ethdev: support SFF-8636 " Robin Zhang
2022-05-31 14:43 ` [PATCH v9 0/5] add telemetry command for show module EEPROM Andrew Rybchenko
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=BN9PR11MB5529217D8EE6906E354842A59BE99@BN9PR11MB5529.namprd11.prod.outlook.com \
--to=robinx.zhang@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=qi.z.zhang@intel.com \
--cc=qiming.yang@intel.com \
--cc=stevex.yang@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 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).