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

Function sff_8079_show_transceiver

dpdk/lib/ethdev/sff_8079.c:40–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40static void sff_8079_show_transceiver(const uint8_t *data, struct rte_tel_data *d)
41{
42 static const char *name = "Transceiver type";
43 char val_string[SFF_ITEM_VAL_COMPOSE_SIZE];
44
45 snprintf(val_string, sizeof(val_string),
46 "0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x",
47 data[3], data[4], data[5], data[6], data[7], data[8], data[9], data[10], data[36]);
48 ssf_add_dict_string(d, "Transceiver codes", val_string);
49
50 /* 10G Ethernet Compliance Codes */
51 if (data[3] & (1 << 7))
52 ssf_add_dict_string(d, "10G Ethernet transceiver type",
53 "10G Ethernet: 10G Base-ER [SFF-8472 rev10.4 onwards]");
54 if (data[3] & (1 << 6))
55 ssf_add_dict_string(d, name, "10G Ethernet: 10G Base-LRM");
56 if (data[3] & (1 << 5))
57 ssf_add_dict_string(d, name, "10G Ethernet: 10G Base-LR");
58 if (data[3] & (1 << 4))
59 ssf_add_dict_string(d, name, "10G Ethernet: 10G Base-SR");
60
61 /* Infiniband Compliance Codes */
62 if (data[3] & (1 << 3))
63 ssf_add_dict_string(d, name, "Infiniband: 1X SX");
64 if (data[3] & (1 << 2))
65 ssf_add_dict_string(d, name, "Infiniband: 1X LX");
66 if (data[3] & (1 << 1))
67 ssf_add_dict_string(d, name, "Infiniband: 1X Copper Active");
68 if (data[3] & (1 << 0))
69 ssf_add_dict_string(d, name, "Infiniband: 1X Copper Passive");
70
71 /* ESCON Compliance Codes */
72 if (data[4] & (1 << 7))
73 ssf_add_dict_string(d, name, "ESCON: ESCON MMF, 1310nm LED");
74 if (data[4] & (1 << 6))
75 ssf_add_dict_string(d, name, "ESCON: ESCON SMF, 1310nm Laser");
76
77 /* SONET Compliance Codes */
78 if (data[4] & (1 << 5))
79 ssf_add_dict_string(d, name, "SONET: OC-192, short reach");
80 if (data[4] & (1 << 4))
81 ssf_add_dict_string(d, name, "SONET: SONET reach specifier bit 1");
82 if (data[4] & (1 << 3))
83 ssf_add_dict_string(d, name, "SONET: SONET reach specifier bit 2");
84 if (data[4] & (1 << 2))
85 ssf_add_dict_string(d, name, "SONET: OC-48, long reach");
86 if (data[4] & (1 << 1))
87 ssf_add_dict_string(d, name, "SONET: OC-48, intermediate reach");
88 if (data[4] & (1 << 0))
89 ssf_add_dict_string(d, name, "SONET: OC-48, short reach");
90 if (data[5] & (1 << 6))
91 ssf_add_dict_string(d, name, "SONET: OC-12, single mode, long reach");
92 if (data[5] & (1 << 5))
93 ssf_add_dict_string(d, name, "SONET: OC-12, single mode, inter. reach");
94 if (data[5] & (1 << 4))
95 ssf_add_dict_string(d, name, "SONET: OC-12, short reach");
96 if (data[5] & (1 << 2))
97 ssf_add_dict_string(d, name, "SONET: OC-3, single mode, long reach");

Callers 1

sff_8079_show_allFunction · 0.85

Calls 2

snprintfFunction · 0.85
ssf_add_dict_stringFunction · 0.85

Tested by

no test coverage detected