ifconfig_sfp.h @@ -85,10 +85,11 @@ struct ifconfig_sfp_status { #define CMIS_DUMP_SIZE 512 /**< CMIS dump buffer size */ #define CMIS_DUMP_P11 256 /**< offset of Page 11h in dump buffer */ +#define CMIS_DUMP_P10 384 /**< offset of Page 10h in dump buffer */ /** SFP module I2C memory dump * SFP modules have one region, QSFP modules have two. - * CMIS modules have three: lower memory, Page 00h, and Page 11h. + * CMIS modules have four: lower memory, Page 00h, Page 11h, and Page 10h. */ struct ifconfig_sfp_dump { uint8_t data[CMIS_DUMP_SIZE]; /**< memory dump data */ diff --git a/sbin/ifconfig/sfp.c b/sbin/ifconfig/sfp.c index f6400684ba7a..878a02a4a0da 100644 --- a/sbin/ifconfig/sfp.c +++ b/sbin/ifconfig/sfp.c @@ -122,6 +122,11 @@ sfp_status(if_ctx *ctx) printf("\n\tCMIS DUMP (Page 00h 128..255):\n"); hexdump(dump.data + 128, 128, "\t", HD_OMIT_COUNT | HD_OMIT_CHARS); + if (verbose > 3) { + printf("\n\tCMIS DUMP (Page 10h 128..255):\n"); + hexdump(dump.data + CMIS_DUMP_P10, 128, + "\t", HD_OMIT_COUNT | HD_OMIT_CHARS); + } printf("\n\tCMIS DUMP (Page 11h 128..255):\n"); hexdump(dump.data + CMIS_DUMP_P11, 128, "\t", HD_OMIT_COUNT | HD_OMIT_CHARS);