MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sff_8024_show_encoding

Function sff_8024_show_encoding

dpdk/lib/ethdev/sff_common.c:219–269  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

217}
218
219void sff_8024_show_encoding(const uint8_t *data, int encoding_offset,
220 int sff_type, struct rte_tel_data *d)
221{
222 char val_string[SFF_ITEM_VAL_COMPOSE_SIZE];
223
224 snprintf(val_string, sizeof(val_string), "0x%02x", data[encoding_offset]);
225
226 switch (data[encoding_offset]) {
227 case SFF_8024_ENCODING_UNSPEC:
228 strlcat(val_string, " (unspecified)", sizeof(val_string));
229 break;
230 case SFF_8024_ENCODING_8B10B:
231 strlcat(val_string, " (8B/10B)", sizeof(val_string));
232 break;
233 case SFF_8024_ENCODING_4B5B:
234 strlcat(val_string, " (4B/5B)", sizeof(val_string));
235 break;
236 case SFF_8024_ENCODING_NRZ:
237 strlcat(val_string, " (NRZ)", sizeof(val_string));
238 break;
239 case SFF_8024_ENCODING_4h:
240 if (sff_type == RTE_ETH_MODULE_SFF_8472)
241 strlcat(val_string, " (Manchester)", sizeof(val_string));
242 else if (sff_type == RTE_ETH_MODULE_SFF_8636)
243 strlcat(val_string, " (SONET Scrambled)", sizeof(val_string));
244 break;
245 case SFF_8024_ENCODING_5h:
246 if (sff_type == RTE_ETH_MODULE_SFF_8472)
247 strlcat(val_string, " (SONET Scrambled)", sizeof(val_string));
248 else if (sff_type == RTE_ETH_MODULE_SFF_8636)
249 strlcat(val_string, " (64B/66B)", sizeof(val_string));
250 break;
251 case SFF_8024_ENCODING_6h:
252 if (sff_type == RTE_ETH_MODULE_SFF_8472)
253 strlcat(val_string, " (64B/66B)", sizeof(val_string));
254 else if (sff_type == RTE_ETH_MODULE_SFF_8636)
255 strlcat(val_string, " (Manchester)", sizeof(val_string));
256 break;
257 case SFF_8024_ENCODING_256B:
258 strlcat(val_string,
259 " ((256B/257B (transcoded FEC-enabled data))", sizeof(val_string));
260 break;
261 case SFF_8024_ENCODING_PAM4:
262 strlcat(val_string, " (PAM4)", sizeof(val_string));
263 break;
264 default:
265 strlcat(val_string, " (reserved or unknown)", sizeof(val_string));
266 break;
267 }
268 ssf_add_dict_string(d, "Encoding", val_string);
269}
270
271void sff_show_thresholds(struct sff_diags sd, struct rte_tel_data *d)
272{

Callers 2

sff_8636_show_encodingFunction · 0.85
sff_8079_show_encodingFunction · 0.85

Calls 3

snprintfFunction · 0.85
ssf_add_dict_stringFunction · 0.85
strlcatFunction · 0.50

Tested by

no test coverage detected