Hi Carlos, One thing to keep in mind here is that, it is not always the module and or / DAC vendors that are putting that “extra” info in the module. Many times that information is requested and demanded by the individual server / box vendors. The decoder ring that you speak is more often than not, controlled by the box vendor, who only wants certain module / DAC’s plugged in to their systems. Just something to keep in mind while we are doing this work. Thanks Greg
Greg McSorley Amphenol High Speed Products Cell: 508-561-2903 Email: greg.mcsor...@amphenol-highspeed.com<mailto:greg.mcsor...@amphenol-highspeed.com> From: opencompute-networking-boun...@lists.opencompute.org [mailto:opencompute-networking-boun...@lists.opencompute.org] On Behalf Of Carlos Cardenas Sent: Thursday, October 15, 2015 12:46 PM To: Rob Sherwood Cc: opencompute-networking@lists.opencompute.org Subject: Re: [Opencompute-networking] Call for Interest on common DMI utility for pluggables 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<http://cp.mcafee.com/d/avndz8O86Qm663hOCessodTdETsKYCed7dS3qdTbL9zzhOYqejqdTbL9zzhPtYSztNxUsOOPsShzV7BrkH4_OMa21fUlfbAV4it5LZ3BPog9_2FVsD8yjEJ_EsKrKgugthsvW_8TKUehd7fnKnjpohV5UsepopWyaqRQRrTjVkffGhBrwqrhdETdTVd4QsLnsvjhsdTdw0GHv1tpKvY01MN8Hb0pYP5oBpg8Ucbvqwx10e-Ayca0o5zSO97i1_yE9zIam-hDUyKMg5gLmANkiGGIvbomYlS20G6MDYqHqgAvapol1fQCaxo_o6WHv1tpKvBMqoH4Ha14KgGT2TQ1hYGjFRlLwKITf-00CQNP38US2_id41Fr32TMnmrDVs6CaNaOwhdbFEw4Jffd43JoCy0dxfU_ipEwH0QgbGRwq80Ur3jh0TehYFBzh0Xm9Ewmfr8At87_gSYOrCYPc19F> 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<mailto:rob.sherw...@bigswitch.com>> wrote: (thanks JeffT for the quick patch: https://github.com/opennetworklinux/ONLP/commit/e151905883d5b0f50b5eca67aad4279850948bfe<http://cp.mcafee.com/d/avndxMO73hJ5xxwQsFzD763tPqdTbL9zzhPtwSztOXOoUQsL6zASztOXOoUQsTvdETsou7cIITdAo-hVmRaNfYI2wwj-5jOVeh4Dhr_gVsS42vMGun9O8AWbvW7bCXA7A7kn7-LOdXK3AjhPRXBQSm4uhu73Cm6uEyCJtdmZQ-l3PWApmU6CQPqdPt-jhd7bRT7QQn3tPpesRG9px6kOrp3BYGJY0qoH4Gva3ovwo1wl2SbGODDELECzCXXPPa3V2XHZO3_SRMtKEc9zzhOY_sQsIf47vdRm-2WPs_bwQNm9mk29sxlK5LE2zVkDjGHv1tpKvY01dFzC6hNI5-Aq83iS65LwKITfOUdclylB0yqnjh09quuq87qNd40r2vN-APh1m1EwnlH0Qg1MS6Cy1KszVjb6y1SIjh0IuSh8Wgf-xJVASKn9> ) 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<mailto: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<http://cp.mcafee.com/d/2DRPoQ939J5xxwQsFzD763tPqdTbL9zzhPtwSztOXOoUQsL6zASztOXOoUQsTvdETsou7cIITdAo-hVmRaNfYI2wwj-5jOVeh4Dhr_gVsS42vMGun9O8AWbvW7bCXA7A7kn7-LOdXK3AjhPRXBQSm4uhu73Cm6uEyCJtdmZQ-l3PWApmU6CSjqdPt-jhd7bRT7QQn3tPpesRG9px6kOrp3BYGJY0qoH4Gva3ovwo1wl2Sjz_UHJ9_75qEdD_jaeKUHl1I_YF6NKGTMnmrDVs6CaNaOwhbAaJMJZ0kvaAWtlrUbHdP_w09JcsMOedwLQzh0qmMMJY5RCV-n1FyIiIE4jiWq81bjPPh0Xm9Ew3oj-fQCq8aMd42WJo6y0e6MQQgdPAvapoQgeRyq85zSO97i1_QdLcCQT97> and https://github.com/opennetworklinux/ONLP/blob/master/modules/sff/module/inc/sff/sff.h#L245<http://cp.mcafee.com/d/2DRPoQ96Qm663hOCessodTdETsKYCed7dS3qdTbL9zzhOYqejqdTbL9zzhPtYSztNxUsOOPsShzV7BrkH4_OMa21fUlfbAV4it5LZ3BPog9_2FVsD8yjEJ_EsKrKgugthsvW_8TKUehd7fnKnjpohV5UsepopWyaqRQRrTjVkffGhBrwqrodETdTVd4QsLnsvjhsdTdAVPmEBC4pj9JAenOGTM1FyIiFYEdx-1w61kbogfGgNnqj-eaRgrf-CkttNmG3p_Va5IEWXB7nu9wo5kS7PtlLwKITfOUdclylB0yn8lrxrW0E-l9QWGTMnmrD_00jqoVxAsr1vF6y0QJxxrUbHdPYK3j5oBpg8CBQQg2mDDCy1SIjh06MDYvFcQglwq85RqMd40sdxFEwrD8-kONEwtH4Qgb7JAieA3_Erupdx4zhYMEb>), 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<mailto: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<http://cp.mcafee.com/d/1jWVIe6hESyMMMqekNPzz1KVJ6XBTANNEVKMrhKVtVcsqenzhOrhKVtVcsqerLCQrKcf3CmmrCOcv8YHqBoD-m1gg9_2FVsD8yjEJ_EsKr21fUlfbAV4it5LZ3BPtO3O3Gbz_nV6ZT1O9EVWZOWrb2f8L3xPb3fkhjmKCHuWvaxVZicHs3jrVJ6VK_9ECzBWXzWqbxKVI05lrUbHdP_w0e695po3fCoH4Ha1705H4HgDloKDt5YLsQsCWHv1tpKvBMqoH4Ha14KgGT2TQ1hYGjFRlLwKITf-00CQNP38US2_id41Fr32TMnmrDVs6CaNaOwhdbFEw4Jffd43JoCy0dxfU_ipEwH0QgbGRwq80Ur3jh0TehYFBzh0Xm9Ewmfr8At87_gSYOrcdoU>), > 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<http://cp.mcafee.com/d/2DRPoA820sd6Qm663hOCessodTdETsKYCed7dS3qdTbL9zzhOYqejqdTbL9zzhPtYSztNxUsOOPsShzV7BrkH4_OMa21fUlfbAV4it5LZ3BPog9_2FVsD8yjEJ_EsKrKgugthsvW_8TKUehd7fnKnjpohV5UsepopWyaqRQRrTjVkffGhBrwqrsdETdTVd4QsLnsvjhsdTdw0Tp7_jGHv1tpKvY01OJImr87OJMh9k-9ClLetAvZ6ww29Dend7bzCIzDjhOUMOgIyZssMW-CY-ywOwXrjtlLwKITfOUdclylB0yn8lrxrW0E-l9QWGTMnmrD_00jqoVxAsr1vF6y0QJxxrUbHdPYK3j5oBpg8CBQQg2mDDCy1SIjh06MDYvFcQglwq85RqMd40sdxFEwrD8-kONEwtH4Qgb7JAieA3_ErupdzX1_4KWANgv> > , 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<http://cp.mcafee.com/d/k-Kr41AedEIcc6zBcsUUMrKrhKVtVcsqerI6QrKnuj76zBUQsCQrKnuj76zCXVJ6Xz3MVBBCVIz7OfaSFm9_Bwk42vMGun9O8AWbvW7bCMwj-5jOVeh4Dhr_gVsTswYwWyU_R-hLtMsyqeuLsKCOMzObMUsOMPR4kRHFGTKDOEuvkzaT0QSedETdTVd4QsLnsvjhsdTdw0GHv1tpKvY01MN8Hb0pYP5oBpg8Ucbvqwx10e-Ayca0o5zSO97i1_yE9zIam-hDUyKMg5gLmANkiGGIvbomYlS20G6MDYqHqgAvapol1fQCaxo_o6WHv1tpKvBMqoH4Ha14KgGT2TQ1hYGjFRlLwKITf-00CQNP38US2_id41Fr32TMnmrDVs6CaNaOwhdbFEw4Jffd43JoCy0dxfU_ipEwH0QgbGRwq80Ur3jh0TehYFBzh0Xm9Ewmfr8At87_gSYOraYqU> > ). 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<http://cp.mcafee.com/d/avndz8Q93hJ5xxwQsFzD763tPqdTbL9zzhPtwSztOXOoUQsL6zASztOXOoUQsTvdETsou7cIITdAo-hVmRaNfYI2wwj-5jOVeh4Dhr_gVsS42vMGun9O8AWbvW7bCXA7A7kn7-LOdXK3AjhPRXBQSm4uhu73Cm6uEyCJtdmZQ-l3PWApmU6CTzqdPt-jhd7bRT7QQn3tPpesRG9px6kOrp3BYGJY0qoH4Gva3ovwo1wl2Sjz_UHJ9_75qEdD_jaMfmNmG3p_VidztlLwKITfOUdclylB0yn8lrxrW0E-l9QWGTMnmrD_00jqoVxAsr1vF6y0QJxxrUbHdPYK3j5oBpg8CBQQg2mDDCy1SIjh06MDYvFcQglwq85RqMd40sdxFEwrD8-kONEwtH4Qgb7JAieA3_Erupd-vsI> > ). 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<http://cp.mcafee.com/d/5fHCNEedEIcc6zBcsUUMrKrhKVtVcsqerI6QrKnuj76zBUQsCQrKnuj76zCXVJ6Xz3MVBBCVIz7OfaSFm9_Bwk42vMGun9O8AWbvW7bCMwj-5jOVeh4Dhr_gVsTswYwWyU_R-hLtMsyqeuLsKCOMzObMUsOMPR4kRHFGTKDOEuvkzaT0QSqejqdPt-jhd7bRT7QQn3tPo0c-l9QWGTMnmrD_00s4RtxBlFOH2Clm-2WPs_bwQNm9mk29KGTMnmrDVs6CaNaOwhbAaJMJZ0kvaAWtlrUbHdP_w09JcsMOedwLQzh0qmMMJY5RCV-n1FyIiIE4jiWq81bjPPh0Xm9Ew3oj-fQCq8aMd42WJo6y0e6MQQgdPAvapoQgeRyq85zSO97i1_QdLcCXLRJuTh9tgso> opencompute-networking@lists.opencompute.org<mailto:opencompute-networking@lists.opencompute.org> http://lists.opencompute.org/mailman/listinfo/opencompute-networking<http://cp.mcafee.com/d/FZsSd20OcCQm663hOCessodTdETsKYCed7dS3qdTbL9zzhOYqejqdTbL9zzhPtYSztNxUsOOPsShzV7BrkH4_OMa21fUlfbAV4it5LZ3BPog9_2FVsD8yjEJ_EsKrKgugthsvW_8TKUehd7fnKnjpohV5UsepopWyaqRQRrTjVkffGhBrwqrhKrhKrLOq9EVuKU-CyUrKr01DOFeDlm-2WPs_U03wCHIcfBisEeROGTMnmrDVs6CaNaOwhdRm-2WPs_bwQNm9mk29sxlK5LE2zVkDjGHv1tpKvY01dFzC6hNI5-Aq83iS65LwKITfOUdclylB0yqnjh09quuq87qNd40r2vN-APh1m1EwnlH0Qg1MS6Cy1KszVjb6y1SIjh0IuSh8Wgf-xJVASMGAe1tt8-N1>
_______________________________________________ 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