Códigos de conformidade: bytes 3–10, 36 e tabelas estendidas
Um host não sabe o que um módulo é pelo nome do fabricante, e sim pelos códigos de conformidade: campos de bits que dizem “sou um 10GBASE-LR” ou “sou um SFP de cobre 1000BASE-T”, além de um único código estendido para tudo o que foi inventado depois que os campos de bits ficaram sem espaço. Os hosts os usam para nomear o tipo do módulo, decidir quais velocidades oferecer, escolher FEC e breakout e, em plataformas rígidas, recusar um módulo cujos códigos não correspondam à porta. Acertar esses códigos é a parte mais importante de codificar um módulo.
Duas gerações de codificação
| Mecanismo | Onde | Como funciona |
|---|---|---|
| Campos de bits clássicos | SFF-8472 bytes 3–10; SFF-8636 bytes 131–138 e 164 | um bit por padrão; vários podem estar ativos (taxa dupla, multiprotocolo) |
| Conformidade de especificação estendida | SFF-8472 byte 36; SFF-8636 byte 192 | um valor da Tabela 4-4 do SFF-8024: 25G, 100G, 200G, 400G, PMDs de MSA |
| Aplicações | descritores CMIS | ID de interface de host + ID de interface de mídia + número de lanes, várias por módulo — veja CMIS |
Um módulo de 25G ou 100G deixa a maioria dos bits clássicos zerados e coloca sua identidade no byte 36 ou 192; um módulo de 10G/1G faz o oposto. Módulos de taxa dupla 10G/25G usam os dois.
SFF-8472 bytes 3–10 (família SFP)
| Byte | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
|---|---|---|---|---|---|---|---|---|
| 3 — Ethernet 10G / InfiniBand | 10GBASE-ER | 10GBASE-LRM | 10GBASE-LR | 10GBASE-SR | IB 1X SX | IB 1X LX | IB 1X cobre ativo | IB 1X cobre passivo |
| 4 — ESCON / SONET | ESCON MMF 1310 LED | ESCON SMF 1310 laser | OC-192 alcance curto | SONET bit de alcance 1 | SONET bit de alcance 2 | OC-48 longo | OC-48 intermediário | OC-48 curto |
| 5 — SONET | reservado | OC-12 SM longo | OC-12 SM intermediário | OC-12 curto | reservado | OC-3 SM longo | OC-3 SM intermediário | OC-3 curto |
| 6 — Ethernet | BASE-PX | BASE-BX10 | 100BASE-FX | 100BASE-LX/LX10 | 1000BASE-T | 1000BASE-CX | 1000BASE-LX | 1000BASE-SX |
| 7 — FC comprimento de enlace / tecnologia | muito longo (V) | curto (S) | intermediário (I) | longo (L) | médio (M) | reservado | laser de onda curta, Rx linear (SA) | laser de onda longa (LC) |
| 8 — FC tecnologia / cabo | elétrico entre gabinetes (EL) | laser de onda curta sem OFC (SN) | laser de onda curta com OFC (SL) | laser de onda longa (LL) | cabo ativo | cabo passivo | reservado | reservado |
| 9 — FC meio | axial duplo (TW) | par trançado (TP) | coaxial miniatura (MI) | coaxial de vídeo (TV) | multimodo 62,5 µm (M6) | multimodo 50 µm (M5/M5E) | reservado | monomodo (SM) |
| 10 — FC velocidade | 1200 MB/s | 800 MB/s | 1600 MB/s | 400 MB/s | 3200 MB/s | 200 MB/s | veja o byte 62 | 100 MB/s |
O byte 62 (Fibre Channel speed 2) continua a lista de velocidades para 64GFC e acima. O byte 36 contém o código estendido. O byte 12 informa a taxa nominal em ×100 Mb/s (FFh → byte 66 em ×250 Mb/s), o byte 11 a codificação, o byte 13 o identificador de taxa para seleção de taxa.
Codificações típicas de SFP
| Módulo | Byte 3 | Byte 6 | Byte 8 | Byte 36 | Byte 12 | Byte 11 | Comprimento de onda |
|---|---|---|---|---|---|---|---|
| 1000BASE-SX | 00h | 01h | 00h | 00h | 0Dh (1,3 Gb/s) | 01h 8B/10B | 850 nm |
| 1000BASE-LX | 00h | 02h | 00h | 00h | 0Dh | 01h | 1310 nm |
| 1000BASE-T cobre | 00h | 08h | 00h | 00h | 0Dh | 01h | 0 (n/d) |
| 10GBASE-SR | 10h | 00h | 00h | 00h | 67h (10,3 Gb/s) | 06h 64B/66B | 850 nm |
| 10GBASE-LR | 20h | 00h | 00h | 00h | 67h | 06h | 1310 nm |
| DAC passivo 10G | 00h | 00h | 04h | 00h | 67h | 06h | 0, byte 60 = conformidade do cabo |
| 25GBASE-SR | 00h | 00h | 00h | 02h | FFh (byte 66 = 67h → 25,75 Gb/s) | 06h | 850 nm |
| 25GBASE-LR | 00h | 00h | 00h | 03h | FFh / 67h | 06h | 1310 nm |
| DAC passivo 25G CA-25G-N | 00h | 00h | 04h | 0Dh | FFh / 67h | 06h | 0 |
| SR de taxa dupla 10G/25G | 10h | 00h | 00h | 02h | FFh / 67h | 06h | 850 nm |
Os bytes de comprimento 14–19 devem ser coerentes: um módulo SR declara alcance OM3/OM4, um módulo LR quilômetros, um DAC metros no byte 18.
SFF-8636 bytes 131–138, 164 (família QSFP)
| Byte | Conteúdo |
|---|---|
| 131 — Ethernet 10/40G | bit 7 estendido (usar byte 192), 6 10GBASE-LRM, 5 10GBASE-LR, 4 10GBASE-SR, 3 40GBASE-CR4, 2 40GBASE-SR4, 1 40GBASE-LR4, 0 cabo ativo 40G (XLPPI) |
| 132 — SONET | OC-48 alcance longo / intermediário / curto, OTN 40G |
| 133 — SAS/SATA | SAS 6 / 12 / 24 Gb/s |
| 134 — Gigabit Ethernet | bit 3 1000BASE-T, 2 1000BASE-CX, 1 1000BASE-LX, 0 1000BASE-SX |
| 135 — FC comprimento de enlace e tecnologia | mesmos significados de bit do byte 7 do SFP |
| 136 — FC tecnologia do transmissor | bits EL, SN, SL, LL como no byte 8 do SFP |
| 137 — FC meio | TW, TP, MI, TV, M6, M5, OM3, SM |
| 138 — FC velocidade | 100 … 3200 MB/s, flag de extensão |
| 164 — Módulo estendido | taxas InfiniBand: SDR, DDR, QDR, FDR, EDR |
| 192 — Conformidade estendida | valor da Tabela 4-4 |
Típico: 40GBASE-SR4 → byte 131 = 04h, byte 192 = 00h; 100GBASE-SR4 → byte 131 = 80h (estendido), byte 192 = 02h; 100G CWDM4 → 80h / 06h; DAC 100GBASE-CR4 → 80h / 0Bh com conector 23h.
CMIS — aplicações em vez de bits
Um módulo CMIS lista até 15 aplicações, cada uma combinando uma interface elétrica de host com uma interface de mídia (ambos códigos SFF-8024) e indicando o número de lanes. Um módulo DR4 de 400G pode anunciar 400GAUI-8 ↔ 400GBASE-DR4 (8:4) e 100GAUI-2 ↔ 100GBASE-DR (2:1, para breakout 4×100G). O host seleciona uma por caminho de dados; o que não é anunciado não pode ser configurado. Detalhes e o fluxo de seleção: CMIS.
Como os hosts usam os códigos
- Nomenclatura — a string de tipo na CLI (
10GBASE-LR,QSFP-100G-SR4) é derivada desses bytes, geralmente o primeiro bit ativo encontrado em uma ordem fixa. - Oferta de velocidade — um host lista apenas as taxas cujo código está presente; um módulo de 25G com byte 36 = 02h mas sem nenhum bit no byte 3 não terá 10G oferecido (Velocidade e taxa).
- Seleção de FEC — os códigos estendidos carregam a suposição de FEC (CA-25G-L/S/N; CAUI-4 com ou sem RS-FEC) e alguns hosts configuram o FEC a partir deles (FEC e treinamento de enlace).
- Cobre vs. óptico — os bits 2–3 do byte 8, o conector 23h e as tecnologias de cobre do byte 147 fazem o host mudar para o tratamento de DAC (autonegociação, treinamento de enlace).
- Política — plataformas rígidas comparam os códigos com o modo da porta e com seu banco de dados de compatibilidade; uma divergência resulta em unsupported ou speed and type not supported mesmo quando o bloco do fabricante é aceito (Bloqueio de fabricante).
Regras de codificação
- Ative somente os bits que o hardware realmente cumpre; declarar 10GBASE-LR em um módulo SR transforma “sem link” em “link com erros”.
- Mantenha toda a identidade coerente: conformidade ↔ comprimento de onda ↔ comprimentos ↔ codificação ↔ taxa nominal ↔ conector ↔ tecnologia do transmissor.
- Para 25G ou mais, preencha o byte 36 / 192 e defina o byte 12 / 140 como FFh com a taxa ×250 Mb/s no byte 66 / 222.
- Para DAC, codifique os bits de tecnologia do cabo, o comprimento em metros, o conector 23h e os bytes de atenuação/conformidade em vez de um comprimento de onda.
- Recalcule as somas de verificação depois (Somas de verificação).
No CodingBox
A tela Check transceiver decodifica cada bit acima em nomes simples e lista as aplicações CMIS; o EEPROM editor edita os bytes de código campo a campo, mostra a string de tipo resultante e corrige CC_BASE e CC_EXT na gravação.
As tabelas completas de bits em seu contexto de byte: Mapa A0h do SFF-8472 (bytes 3–10, 36, 62), Mapa da página superior do SFF-8636 (131–138, 164, 192), Mapa do XFP (131–138).