Ce que fait l’hôte : découverte, validation, mise en service
Les spécifications décrivent le côté du module — broches, mémoire, états. Cette page décrit le côté de l’hôte : la séquence qu’un commutateur, un routeur ou une carte réseau exécute depuis l’insertion d’un module jusqu’à l’écoulement du trafic, avec les broches, octets et délais que chaque étape utilise. La connaître transforme « le port dit unsupported » en « l’hôte s’est arrêté à l’étape 4 », et explique pourquoi un module parfait sur le banc peut quand même échouer dans un port.
Signaux basse vitesse par facteur de forme
| Facteur de forme | Présence | Reset / alimentation | Interruption / défaut | Autre |
|---|---|---|---|---|
| SFP / SFP+ / SFP28 | MOD_ABS (bas = présent) | — (TX_DISABLE commande le laser) | TX_FAULT, RX_LOS | RS0, RS1 sélection de débit |
| XFP | Mod_ABS | P_Down/RST | Interrupt, Mod_NR (non prêt), RX_LOS | TX_DIS, Mod_DeSel |
| QSFP+ / QSFP28 | ModPrsL | ResetL, LPMode | IntL | ModSelL |
| QSFP-DD | ModPrsL | ResetL, LPMode | IntL | ModSelL |
| OSFP | PRSn | RSTn, LPWn | INT | — (pas de broche de sélection, un bus par port) |
| SFP-DD | absence de module comme pour SFP | demande de basse puissance | interruption | sélection de débit comme pour SFP |
Fonctions des broches et brochages par famille : Matériel SFP, Matériel QSFP, XFP.
La séquence
| # | Étape | SFP (SFF-8472) | QSFP (SFF-8636) | CMIS | À quoi ressemble un échec |
|---|---|---|---|---|---|
| 1 | Détection | MOD_ABS passe bas ; anti-rebond | ModPrsL bas | ModPrsL / PRSn bas | le port reste vide ; module « non détecté » |
| 2 | Alimentation et attente | 3,3 V toujours présents ; attendre t_init 300 ms | mise sous tension avec LPMode haut (classe 1 seulement) ; attendre t_init 2 s ou scruter Data_Not_Ready | idem ; attendre que l’état du module quitte MgmtInit (≤ 2 s) | les lectures renvoient FFh / 00h ; identité vide |
| 3 | Identification | lire A0h 0–95 ; octet 0 = 03h sélectionne le parseur SFF-8472 | lire 0–127 et la page supérieure 00h ; octet 0 = 0Dh/11h, octet 1 révision | lire la page inférieure et la page supérieure 00h ; octet 0 = 18h/19h…, octet 1 version CMIS | unknown module type |
| 4 | Validation | CC_BASE, CC_EXT ; cohérence identifiant/connecteur/encodage | CC_BASE, CC_EXT | somme de contrôle de la page 00h | invalid EEPROM, checksum error — Sommes de contrôle |
| 5 | Décodage du type | octets de conformité 3–10, 36 ; octet de débit 12/66 ; longueurs ; longueur d’onde | octets 131–138, 192 ; 140/222 | type de média 85, descripteurs d’application | speed and type not supported — Codes de conformité |
| 6 | Politique | nom/PN fournisseur (et éventuellement signature) comparés à la table de compatibilité | idem | idem | unsupported transceiver, errdisable — Verrouillage constructeur |
| 7 | Classe de puissance | bits de niveau de l’octet 64 vs budget du port | classe de l’octet 129 ; écrire l’octet 93 pour libérer la basse puissance / activer les classes 5–8 | classe de l’octet 200 vs port ; désactiver LPMode ou effacer LowPwrRequestSW → module PwrUp → Ready | maintenu en basse puissance, power exceeds — Puissance et thermique |
| 8 | Configuration | RS0/RS1 ou sélection de débit logicielle ; débit côté hôte, FEC, SGMII/1000BASE-X | CDR on/off (98), sélection de débit (87–88), voies d’éclatement (breakout) côté hôte | choisir AppSel/DataPathID dans le jeu de commande étagé → ApplyDPInit → chemin de données Init → Initialized | LOL, incompatibilité de FEC, éclatement (breakout) refusé — Vitesse et débit |
| 9 | Activation Tx | broche TX_DISABLE basse ou bit logiciel effacé (A2h 110.6) | octet 86 = 00h | page 10h octet 130 = 00h → DPTxTurnOn → DPActivated | l’extrémité distante voit −40 dBm — Checklist absence de liaison |
| 10 | Liaison | le PHY/MAC voit le signal ; AN/link training sur DAC | idem par voie | idem par chemin de données | liaison down avec des niveaux corrects |
| 11 | Surveillance | scruter les moniteurs et indicateurs A2h toutes les quelques secondes ; broches TX_FAULT / RX_LOS | IntL → lire les indicateurs 3–21 ; scruter les moniteurs | IntL → indicateurs du module + indicateurs de voie page 11h ; VDM | alarmes, flapping — Niveaux DDM, Flapping de liaison |
| 12 | Retrait | MOD_ABS haut → démontage | ModPrsL haut | ModPrsL haut | état obsolète si l’anti-rebond échoue |
Les étapes 3–6 se déroulent en basse puissance pour les modules QSFP et CMIS : l’hôte valide avant de consacrer de la puissance à l’optique. C’est pourquoi un module verrouillé ou mal codé n’allume jamais son laser, et pourquoi l’extrémité distante lit −40 dBm sur un module par ailleurs électriquement sain.
Délais attendus par l’hôte
| Attente | SFP | QSFP | CMIS |
|---|---|---|---|
| Gestion prête après insertion | 300 ms | 2 s | ≤ 2 s (MgmtInit) puis état LowPwr |
| Après libération de la basse puissance | — | jusqu’à effacement de Data_Not_Ready | jusqu’à l’état du module Ready (durée max annoncée dans la page 01h) |
| Initialisation du chemin de données | — | — | annoncée par étape (code quartet : < 1 ms … < 50 min) |
| Activation Tx jusqu’à l’émission | t_on ≤ 1 ms | ton_txdis 100 ms / toff 400 ms | durée DPTxTurnOn annoncée |
| Indicateur jusqu’à l’interruption | — | ton_IntL 200 ms | selon la spécification matérielle |
Délais au niveau du bus (t_WR, étirement d’horloge) : Interface à deux fils.
Points de politique où les hôtes diffèrent
- Rigueur de la liste blanche — de « nom de fournisseur seul » à des blocs signés spécifiques au fournisseur.
- Comportement en cas de rejet — port désactivé, laser éteint, ou liaison autorisée avec une entrée de journal (Optiques tierces).
- Profondeur CMIS — contrôle complet application/chemin de données face à « relâcher LPMode et espérer » (Problèmes CMIS).
- Valeurs par défaut de FEC et de débit — dérivées des codes de conformité ou configurées de façon statique.
- Scrutation DDM — intervalle, si les seuils déclenchent l’arrêt du port, si un étalonnage externe est appliqué (Étalonnage).
CLI spécifique à chaque fournisseur pour voir où l’hôte s’est arrêté : Vérifier les optiques sur les commutateurs.
En quoi un programmateur diffère d’un hôte
Un programmateur comme CodingBox exécute les étapes 1–5 et 11 mais aucune politique : il lit tout ce que le module expose, y compris les zones fournisseur et les octets de mot de passe, garde les modules CMIS en basse puissance sauf demande contraire, et n’active jamais le laser de lui-même. C’est pourquoi un module peut sembler sain sur le banc et pourtant échouer dans un port — le banc n’a pas d’étape 6.
Dans CodingBox
Check transceiver affiche le résultat des étapes 3–5 tel qu’un hôte le verrait — type, débit, sommes de contrôle, classe de puissance — et signale les incohérences avant que le module n’atteigne un port ; DDM couvre l’étape 11 avec des moniteurs et indicateurs en direct.
Le matériel derrière l’étape 6 (politique) et les limites de groupe de ports derrière l’étape 8 : À l’intérieur d’un commutateur, Comment chaque NOS valide un module.