Sağlama toplamları: CC_BASE, CC_EXT, CC_DMI, CMIS sayfaları
Her yönetim şartnamesi, kimlik bilgileri bloğunu bir veya daha fazla sağlama toplamıyla korur: bu, hostun içeriğe güvenmeden önce bozuk veya yarım yazılmış bir EEPROM’u tespit etmesini sağlayan tek bir bayttır. Hesaplanmaları çok kolaydır ve unutulmaları da o kadar kolaydır: düzenleme sonrası eskimiş bir sağlama toplamı, yeni kodlanmış bir modülün geçersiz olarak raporlanmasının en yaygın nedenidir.
Algoritma
Hepsi aynı kuralı kullanır: kapsanan aralığın baytlarını işaretsiz 8 bit değerler olarak toplayın ve toplamın alt 8 bitini saklayın (toplam modulo 256). CRC yok, polinom yok.
toplam = 0
aralıktaki her bayt b için:
toplam = (toplam + b) & 0xFF
sağlama toplamı = toplam
Örnek: bir 10GBASE-SR SFP’nin ilk beş baytı: 03 04 07 10 00 → 3 + 4 + 7 + 16 + 0 = 30 = 1Eh. Bayt 62’ye kadar devam edin, sonuç CC_BASE’dir.
Her sağlama toplamı nerede bulunur
| Şartname | Sağlama toplamı | Konum | Kapsam |
|---|---|---|---|
| SFF-8472 (SFP) | CC_BASE | A0h bayt 63 | A0h bayt 0–62 |
| SFF-8472 | CC_EXT | A0h bayt 95 | A0h bayt 64–94 |
| SFF-8472 | CC_DMI | A2h bayt 95 | A2h bayt 0–94 (eşikler ve kalibrasyon sabitleri) |
| SFF-8636 (QSFP) | CC_BASE | bayt 191 | üst sayfa 00h bayt 128–190 |
| SFF-8636 | CC_EXT | bayt 223 | bayt 192–222 |
| INF-8077i (XFP) | CC_BASE | bayt 191 | bayt 128–190 |
| INF-8077i | CC_EXT | bayt 223 | bayt 192–222 |
| CMIS | sayfa sağlama toplamı | sayfa 00h bayt 222 | sayfa 00h bayt 128–221 |
| CMIS | sayfa sağlama toplamı | sayfa 01h bayt 255 | sayfa 01h bayt 130–254 (128–129, etkin olmayan ürün yazılımı sürümünü tutar ve hariç tutulur) |
| CMIS | sayfa sağlama toplamı | sayfa 02h bayt 255 | sayfa 02h bayt 128–254 |
| CMIS | sayfa sağlama toplamı | sayfa 04h bayt 255 | sayfa 04h bayt 128–254 |
Hiçbir sağlama toplamı tarafından kapsanmayanlar: satıcıya özgü alanlar (SFP A0h 96–127, QSFP 224–255, CMIS 223–255), kullanıcı EEPROM’u, canlı ölçülen değerler ve bayraklar, QSFP sayfa 03h eşikleri ve CMIS şerit sayfaları. Satıcılar, satıcı alanında kendi bütünlük alanlarını ekleyebilir; bunlar şartnamenin parçası değildir.
Hostlar bunlarla ne yapar
| Davranış | Hatalı bir sağlama toplamının sonucu |
|---|---|
| CC_BASE’i doğrulama (çoğu anahtar ve yönlendirici) | modül invalid, unsupported veya EEPROM checksum error olarak gösterilir; port errdisable olabilir; lazer genellikle kapalı tutulur |
| CC_EXT’i de doğrulama | aynısı, platforma bağlı olarak yalnızca bir günlük kaydı |
| CC_DMI’yi doğrulama | DDM not supported olarak gösterilir veya değerler yok sayılır; bağlantının kendisi etkilenmez |
| Sağlama toplamlarını yok sayma (çoğu NIC, bazı açık anahtarlar) | modül çalışır; hata yalnızca araçlarda görünür |
Bir sağlama toplamı hatası, kimlik bilgileriyle birlikte raporlanır; bu yüzden aynı zamanda bir politika sorunu olan bir modül, bir mesajın diğerini gizlediği tek bir mesaj gösterir. Önce sağlama toplamlarını kontrol edin, ucuz olan düzeltme budur. Belirti haritası: Belirti dizini.
Ne zaman yeniden hesaplamanız gerekir
- Kapsanan aralıklardaki herhangi bir şeyi düzenledikten sonra: satıcı adı, parça numarası, seri numarası, tarih kodu, uyumluluk kodları, dalga boyu, uzunluklar, seçenekler, güç sınıfı.
- SFP üzerinde eşikler veya kalibrasyon sabitleri uyguladıktan sonra (CC_DMI).
- Başka bir modülden kısmi bir imaj geri yüklendikten sonra.
- Satıcı alanındaki, kullanıcı EEPROM’undaki veya A2h kontrol baytlarındaki değişiklikler için gerekli değildir.
İşlem sırası: düzenle → etkilenen her sağlama toplamını yeniden hesapla → yaz → geri oku → doğrula. Sağlama toplamı baytını kapsadığı veriden önce yazmak, bir güç kesintisinin geçersiz bir modül üretebileceği bir pencere bırakır.
Sağlama toplamları ve satıcı kilitleri
Doğru sağlama toplamları gereklidir ama yeterli değildir. Sıkı bir platform ayrıca satıcı bloğunu ve kilitli tasarımlarda, şartname sağlama toplamlarının hiçbir şey bilmediği satıcı alanındaki özel bir imzayı da kontrol eder. Reddedilen bir kimlikle birlikte CC_BASE’in geçmesi, bir sağlama toplamı vakası değil bir satıcı kilidi vakası gibi görünür. Satıcı kilidi, Satıcı alanları.
CodingBox’ta
CodingBox, her yazmada CC_BASE, CC_EXT, CC_DMI ve CMIS sayfa sağlama toplamlarını otomatik olarak yeniden hesaplar ve bir modül okunurken bir uyuşmazlığı vurgular: Check transceiver ekranında veya EEPROM editor’da kırmızı bir sağlama toplamı alanı, modülün başka bir yerde düzeltilmeden düzenlendiği veya EEPROM’un bozuk olduğu anlamına gelir.
Her sağlama toplamının komşuları arasında nerede oturduğu: SFF-8472 A0h (63, 95), A2h (95), SFF-8636 üst (191, 223), CMIS üst sayfalar (222, 255), XFP (191, 223).