Co robi host: wykrywanie, walidacja, uruchamianie · Specyfikacje i normy · Transceivery optyczne i kable · Dokumentacja · CodingBox
CodingBox Dokumentacja

Co robi host: wykrywanie, walidacja, uruchamianie

Specyfikacje opisują stronę modułu — piny, pamięć, stany. Ta strona opisuje stronę hosta: sekwencję, którą przełącznik, router albo NIC wykonuje od chwili włożenia modułu aż do popłynięcia ruchu, wraz z pinami, bajtami i czasami, jakich używa każdy krok. Znajomość tego zamienia „port mówi unsupported” w „host zatrzymał się na kroku 4”, i wyjaśnia, dlaczego moduł idealny na stanowisku wciąż może zawieść w porcie.

Sygnały niskiej prędkości według formatu obudowy

Format obudowyObecnośćReset / zasilaniePrzerwanie / usterkaInne
SFP / SFP+ / SFP28MOD_ABS (niski = obecny)— (TX_DISABLE steruje laserem)TX_FAULT, RX_LOSRS0, RS1 — wybór prędkości
XFPMod_ABSP_Down/RSTInterrupt, Mod_NR (nie gotowy), RX_LOSTX_DIS, Mod_DeSel
QSFP+ / QSFP28ModPrsLResetL, LPModeIntLModSelL
QSFP-DDModPrsLResetL, LPModeIntLModSelL
OSFPPRSnRSTn, LPWnINT— (brak pinu wyboru, jedna magistrala na port)
SFP-DDobecność jak w SFPżądanie niskiej mocyprzerwaniewybór prędkości jak w SFP

Funkcje pinów i rozkłady wyprowadzeń dla poszczególnych rodzin: Sprzęt SFP, Sprzęt QSFP, XFP.

Sekwencja

#KrokSFP (SFF-8472)QSFP (SFF-8636)CMISJak wygląda błąd
1WykrycieMOD_ABS przechodzi na niski; debounceModPrsL niskiModPrsL / PRSn niskiport pozostaje pusty; moduł „not detected”
2Zasilanie i oczekiwanie3,3 V jest zawsze włączone; oczekiwanie t_init 300 mszasilanie włączone przy LPMode wysoki (tylko klasa 1); oczekiwanie t_init 2 s albo odpytywanie Data_Not_Readytak samo; oczekiwanie, aż stan modułu opuści MgmtInit (≤ 2 s)odczyty zwracają FFh / 00h; dane identyfikacyjne puste
3Identyfikacjaodczyt A0h 0–95; bajt 0 = 03h wybiera parser SFF-8472odczyt 0–127 i strony górnej 00h; bajt 0 = 0Dh/11h, bajt 1 — rewizjaodczyt strony dolnej i górnej 00h; bajt 0 = 18h/19h…, bajt 1 — wersja CMISunknown module type
4WeryfikacjaCC_BASE, CC_EXT; spójność identyfikatora / złącza / kodowaniaCC_BASE, CC_EXTsuma kontrolna strony 00hinvalid EEPROM, checksum error — Sumy kontrolne
5Dekodowanie typubajty zgodności 3–10, 36; bajt prędkości 12/66; długości; długość falibajty 131–138, 192; 140/222typ medium 85, deskryptory aplikacjispeed and type not supported — Kody zgodności
6Politykanazwa producenta / numer katalogowy (i ewentualnie sygnatura) w tabeli kompatybilnościtak samotak samounsupported transceiver, errdisable — Blokada producenta
7Klasa mocybity poziomu bajtu 64 względem budżetu portuklasa bajtu 129; zapis do bajtu 93 zwalnia niską moc / włącza klasy 5–8klasa bajtu 200 względem portu; dezaktywacja LPMode albo wyczyszczenie LowPwrRequestSW → moduł PwrUp → Readyzatrzymany w niskiej mocy, power exceeds — Zasilanie i temperatura
8KonfiguracjaRS0/RS1 albo programowy wybór prędkości; prędkość po stronie hosta, FEC, SGMII/1000BASE-XCDR wł./wył. (98), wybór prędkości (87–88), linie breakout po stronie hostawybór AppSel/DataPathID w staged control set → ApplyDPInit → Init ścieżki danych → InitializedLOL, niezgodność FEC, breakout odrzucony — Prędkość i przepływność
9Włączenie Txpin TX_DISABLE niski albo wyczyszczenie bitu programowego (A2h 110.6)bajt 86 = 00hstrona 10h, bajt 130 = 00h → DPTxTurnOn → DPActivateddaleki koniec widzi −40 dBm — Lista kontrolna braku łącza
10ŁączePHY/MAC widzi sygnał; AN/link training na DACtak samo na liniętak samo na ścieżkę danychłącze nieaktywne mimo poprawnych poziomów
11Monitorowanieodpytywanie monitorów i flag A2h co kilka sekund; piny TX_FAULT / RX_LOSIntL → odczyt flag 3–21; odpytywanie monitorówIntL → flagi modułu + flagi linii strony 11h; VDMalarmy, flapping — Poziomy DDM, Migotanie łącza
12UsunięcieMOD_ABS wysoki → zamknięcieModPrsL wysokiModPrsL wysokinieaktualny stan, jeśli debounce nie zadziała

Kroki 3–6 zachodzą w niskiej mocy dla modułów QSFP i CMIS: host weryfikuje moduł, zanim wyda moc na optykę. Dlatego zablokowany albo źle zakodowany moduł nigdy nie zapala lasera, i dlatego daleki koniec odczytuje −40 dBm na module, który elektrycznie jest sprawny.

Czasy, na które czeka host

OczekiwanieSFPQSFPCMIS
Gotowość zarządzania po włożeniu300 ms2 s≤ 2 s (MgmtInit), potem stan LowPwr
Po zwolnieniu niskiej mocy—do skasowania Data_Not_Readydo stanu modułu Ready (maks. czas zgłasza strona 01h)
Inicjalizacja ścieżki danych——zgłaszane dla każdego kroku (kod półbajtowy: < 1 ms … < 50 min)
Od włączenia Tx do światłat_on ≤ 1 mston_txdis 100 ms / toff 400 msczas DPTxTurnOn zgłaszany
Od flagi do przerwania—ton_IntL 200 mswedług specyfikacji sprzętowej

Czasy na poziomie magistrali (t_WR, rozciąganie zegara): Interfejs dwuprzewodowy.

Punkty polityki, w których hosty się różnią

  • Restrykcyjność białej listy — od „tylko nazwa producenta” po podpisane bloki specyficzne dla producenta.
  • Co się dzieje przy odrzuceniu — port wyłączony, laser wyłączony, albo łącze dozwolone z wpisem w dzienniku (Optyka innych producentów).
  • Głębokość obsługi CMIS — pełne sterowanie aplikacją/ścieżką danych kontra „zwolnij LPMode i miej nadzieję” (Problemy z CMIS).
  • Wartości domyślne FEC i prędkości — wyprowadzone z kodów zgodności albo skonfigurowane statycznie.
  • Odpytywanie DDM — interwał, czy progi wyzwalają wyłączenie portu, czy stosowana jest kalibracja zewnętrzna (Kalibracja).

CLI poszczególnych producentów, aby zobaczyć, gdzie zatrzymał się host: Weryfikacja optyki na przełącznikach.

Czym programator różni się od hosta

Programator taki jak CodingBox wykonuje kroki 1–5 i 11, ale bez polityki: odczytuje wszystko, co moduł udostępnia, łącznie z obszarami producenta i bajtami haseł, trzyma moduły CMIS w niskiej mocy, chyba że poproszony inaczej, i nigdy sam nie włącza lasera. Dlatego moduł może wyglądać zdrowo na stanowisku i mimo to zawieść w porcie — stanowisko nie ma kroku 6.

W CodingBox

Check transceiver pokazuje wynik kroków 3–5 tak, jak zobaczyłby je host — typ, prędkość, sumy kontrolne, klasa mocy — i sygnalizuje niespójności, zanim moduł trafi do portu; DDM pokrywa krok 11 monitorami i flagami na żywo.

Sprzęt stojący za krokiem 6 (polityka) i limity grup portów stojące za krokiem 8: Wnętrze przełącznika, Jak każdy NOS weryfikuje moduł.


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .