From 11d10e82185118e2f3f774897dea5fcd86af5c04 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Wed, 15 May 2019 13:59:23 -0700 Subject: [PATCH] Update sfpi.md --- onlp/implementors/sfpi.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/onlp/implementors/sfpi.md b/onlp/implementors/sfpi.md index 12dc4d37..40257079 100644 --- a/onlp/implementors/sfpi.md +++ b/onlp/implementors/sfpi.md @@ -2,10 +2,11 @@ The purpose of this module is to implement platform properties of the SFP OID. -## ```onlp_sfpi_hdr_get()``` +## SFP OID Header -You must implement this function. If an SFP is present then you must set the OID PRESENT status flag or no other operations will be performed. -It will be assumed that the SFP module is absent. +```onlp_sfpi_hdr_get()``` + +The ```onlpi_sfpi_hdr_get()``` function must be implemented. If an SFP is present then you must set the OID PRESENT status flag or no other operations will be performed. It will be assumed that the SFP module is absent. ## SFP Operations @@ -24,6 +25,15 @@ The MSA SFF decode for both identification and DOM information is parsed in the Supporting all relevant SFP controls, status bitmaps, and read/write operations is required to provide rich access to all required SFP features. +### Bitmaps +Supporting the SFP Bitmap APIs allows the application to aggregate important status. + +### Read/Write Operations +All sfpi_dev_{read,readb,readw,write,writeb,writew} functions should be implemented for any device/address. You should consider an SFP like a *bus, not a single device*. Module idproms @ 0x50, DOM information for SFP+ is @ 0x51, Embedded Copper PHYs @ 0x56, etc. Access to a static set of device addresses is insufficient so your ONLP implementation must be flexible enough to communicate with any given device address. + +### SFP Controls +A proper implementation of the Control API is necessary. Do not skip support for all available control fields, either get or set where applicable. + ## SFPi Documentation * [Doxygen](http://ocp.opennetlinux.org/onlp/group__sfpi.html) * [Header](https://github.com/opencomputeproject/OpenNetworkLinux/blob/ONLPv2/packages/base/any/onlp/src/onlp/module/inc/onlp/platformi/sfpi.h)