Rob and Carlos – as some (not all) of you are aware, Finisar+Broadcom+Accton 
have been working on a code base for an ‘Open Optical Monitoring’ utility that 
aims to achieve much of what is being described below. ie a common set of 
drivers and APIs that can be used to access information and functions on 
pluggable modules through the NOS (focusing on Linux-based today). Some of this 
information and functionality is standard across vendors, largely defined by 
industry and MSA standards, and some of the information/functionality will be 
vendor-specific. The goal would be to define a framework that allows access to 
both types of information.

 

Since we have been quietly working on this over the past 6 months, and made 
some progress already, I’d like volunteer Finisar/Broadcom/Accton to lead the 
effort and gather input from the collective (NOS vendors, module vendors etc).

 

Craig

 

From: opencompute-networking-boun...@lists.opencompute.org 
[mailto:opencompute-networking-boun...@lists.opencompute.org] On Behalf Of Rob 
Sherwood
Sent: Thursday, October 15, 2015 11:02 AM
To: Carlos Cardenas
Cc: opencompute-networking@lists.opencompute.org
Subject: Re: [Opencompute-networking] Call for Interest on common DMI utility 
for pluggables

 

Absolutely -- I think the work here is to get consensus that the sff and onlp 
libraries are a reasonable place to start and then try to work with the 
different vendors to understand their non-standard pages.  

 

By a show of emails, which DMI vendors would be interested in adding their 
decoding routines to a code base like this?  Happy to try to marshall this 
activity.

 

- Rob

.

 

On Thu, Oct 15, 2015 at 9:46 AM, Carlos Cardenas <car...@cumulusnetworks.com> 
wrote:

It's a start.

What's happening there is just parsing the first page (SFP) or the first couple 
of pages (QSFP) as per the various SFF standards.  Take a look at Test 2.3 from 
the Interop Test Plan rev 20: 
http://www.opencompute.org/wiki/Networking/SpecsAndDesigns#Pluggable_Transceiver_and_Host_Compliance_and_Interopability_Test_Plan
 for more information.

 

What I'm getting at are the 'non-standard' pages that may exist on the device 
that only the module vendors know about.  Today, it's possible to detect and 
retrieve some of those pages on certain modules, but we do not have the decoder 
ring to make sense out of it (additional diag info, telemetry data, ability to 
update firmware, etc...).  That decoder ring, as you can imagine, is currently 
propriety and contained at the module vendor.

What I'm envisioning is having a common utility and API to:
* query/retrieve additional pages

* pass said pages off to a vendor specific decoder ring (each vendor owns their 
own decoder ring)

* decoder ring parses the info and passes it back to the utility

* the utility consumes the data (i.e. output to the screen for the user)




+--+

Carlos

 

On Thu, Oct 15, 2015 at 9:18 AM, Rob Sherwood <rob.sherw...@bigswitch.com> 
wrote:

(thanks JeffT for the quick patch: 

https://github.com/opennetworklinux/ONLP/commit/e151905883d5b0f50b5eca67aad4279850948bfe
 )

 

This is kind of what I was thinking of: is this what you had in mind Carlos?

 

root@as5710-t:~# ./onlpdump -S

Port  Type            Media   Status  Len    Vendor            Model            
 S/N

----  --------------  ------  ------  -----  ----------------  ---------------- 
 ----------------

   0  NONE

   1  NONE

   2  NONE

   3  NONE

   4  NONE

   5  NONE

   6  NONE

   7  NONE

   8  NONE

   9  NONE

  10  NONE

  11  NONE

  12  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0383

  13  NONE

  14  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0271

  15  NONE

  16  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0518

  17  NONE

  18  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40212D0185

  19  NONE

  20  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0398

  21  NONE

  22  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0250

  23  NONE

  24  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0406

  25  NONE

  26  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40212D0232

  27  NONE

  28  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0230

  29  NONE

  30  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40212D0168

  31  NONE

  32  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40212D0164

  33  NONE

  34  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS31114D0003

  35  NONE

  36  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40212D0193

  37  NONE

  38  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0359

  39  NONE

  40  10GBASE-CR      Copper  X       0m                       C9999-1M-P-LC    
 1305300044

  41  NONE

  42  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40212D0171

  43  NONE

  44  10GBASE-CR      Copper  X       1m     FiberStore        10GSFP-PC-30-1   
 FS40508D0258

  45  NONE

  46  10GBASE-CR      Copper  X       3m     OEM               SFP-H10GB-CU3M   
 CSC31A70001

  47  NONE

  48  NONE

  49  NONE

  50  NONE

  51  NONE

  52  NONE

  53  NONE

 root@as5710-t:~#

 

On Wed, Oct 14, 2015 at 6:15 PM, Rob Sherwood <rob.sherw...@bigswitch.com> 
wrote:

Hi Dustin and Carlos,

 

I definitely agree that it's a good idea to have such a tool -- to the point 
where that's what we wrote with onlpdump :-)  Looking over the code, it looks 
like we don't do the final conversion by default: we have the ability to pull 
the eeprom data in a platform independent way with the onlp_sfp_eeprom_read() 
API and the SFF libraries to parse/decode them (see 
https://github.com/opennetworklinux/ONLP/tree/master/modules/sff/module/src and 
https://github.com/opennetworklinux/ONLP/blob/master/modules/sff/module/inc/sff/sff.h#L245),
 but it looks like there isn't an easy command-line option to do both.  Give us 
a couple of days and we can add that.

 

What else were you looking for in such a tool?

 

- Rob

.

 

On Wed, Oct 14, 2015 at 2:37 PM, Dustin Byford <dus...@cumulusnetworks.com> 
wrote:

Hi Carlos,

On Wed Oct 14 12:09, Carlos Cardenas wrote:
> For those that were present during the Eng. Workshop in Boston at Fidelity
> last week (http://www.opencompute.org/wiki/Networking/Workshop-2015-09),
> you heard a brief point of what we would like to see more in our Interop
> testing (
> http://files.opencompute.org/oc/public.php?service=files&t=60966a37f9643bc18074f52851d3dfca
> , slide 7) about having a common diagnostic monitoring utility for NOSs to
> use since at present, most of them are only able to dump encoded pages (see
> Test 2.3 from the Interop Test Plan rev 20:
> http://www.opencompute.org/wiki/Networking/SpecsAndDesigns#Pluggable_Transceiver_and_Host_Compliance_and_Interopability_Test_Plan
> ).

Sounds like a good idea to me.  I know I've been wishing for such a tool
for a long time.

> During this conversation, it was suggested that if such a tool were to come
> to fruition by the group, that it would be a good idea to start with
> 'onlpdump' from ONLP, the platform abstraction interface from ONL (
> https://github.com/opennetworklinux/ONLP/tree/master/modules/onlp/module/src
> ).

In addition to support for various Linux NOS distros I think we could
develop useful testing and verification features by processing SFF data
from files.  So, I think a file backend and an ethtool API backend will
also make sense from the beginning.

> What I would like to propose to the group is as follows:
> * gauge interest and interested parties willing to contribute (I'm looking
> at NOS and pluggable vendors primarily but all is welcome)
> * establish goals and expectations
> * gather and review requirements for such a tool
> * determine if onlpdump is a suitable starting point
> * code
> * upstream
> * profit ;-)

> As a quick high level stab of goals and expectations:
> * create a cross platform NOS utility (Linux only is fine as practically
> all NOSs are Linux based) to provide proper utilization of the decoded
> diagnostic monitoring data in a (pluggable) vendor neutral fashion.
> Meaning, as long as we have the decoder ring for a given vendor, this tool
> can make use of their pluggables.
> * all code is done in github, under an OCP Networking - in progress repo
> * all code that is kernel specific, shall be up-streamed to the Linux
> kernel in a timely fashion for all to use and integrate

Cool, the combination of having the decoder on github and the low-level
SFF interface access in the mainline Linux kernel is key.

> Do we have any takers?

I'd like to be involved, count me in :)

                --Dustin

_______________________________________________
opencompute-networking mailing list
Unsubscribe: http://lists.opencompute.org/mailman/options/opencompute-networking

opencompute-networking@lists.opencompute.org
http://lists.opencompute.org/mailman/listinfo/opencompute-networking

 

 

 

 

_______________________________________________
opencompute-networking mailing list
Unsubscribe: http://lists.opencompute.org/mailman/options/opencompute-networking

opencompute-networking@lists.opencompute.org
http://lists.opencompute.org/mailman/listinfo/opencompute-networking

Reply via email to