EX4200, Junos 업그레이드 후 SFP+ EEPROM을 mis-programmed로 보고 (MX960은 여전히 DOM 표시)
EX4200 몇 대에서 양쪽 다 서드파티 옵틱을 쓴 80km DWDM 구간을 몇 개 돌리고 있습니다. 벤더 브랜드 DWDM 부품은 예산에 절대 안 맞았거든요. 몇 년 동안 문제없었습니다. EX 박스들을 Junos 12.3으로 올린 뒤로 옵틱은 그대로 같은 포트에 꽂혀 있고 구간도 그대로인데, 스위치가 이 모듈들을 옵틱으로 인정하는 걸 아예 멈췄습니다.
- EX4200, Junos 12.3(같은 섀시에서 11.4일 때는 DOM이 멀쩡히 동작했음)
- Integra SFPP-C51-80-10GD, DWDM 80km SFP+
- 같은 구간 반대편의 MX960, 동일 파트넘버, DOM 여전히 완전함
user@ex4200> show interfaces diagnostics optics xe-0/1/0
Physical interface: xe-0/1/0
Unknown cable
메시지 로그에는 모듈을 꽂을 때 딱 한 줄만 찍힙니다. SFP+ of type 0 EEPROM is Mis Programmed.
이미 배제한 것:
- 옵틱을 재장착하고 같은 섀시의 다른 포트로 옮김, 변화 없음
- 예비 EX3300과 QFX5100을 랩에서 시도, 둘 다 똑같이 동작해서 박스 하나만 고장난 게 아님
- 반대편을 다시 확인, MX960은 같은 주문의 같은 부품에 대해 완전한 진단 정보를 줌
그러면 EX 드라이버가 예전 릴리스는 그냥 무시하던 EEPROM의 뭔가를 강제로 확인하고 있는 건가요? 그렇다면 옵틱 자체에 뭔가 할 수 있는 게 있나요, 아니면 이건 공급업체랑 얘기해야 할 문제인가요?
Comments 6
그 로그 줄은 그냥 두루뭉술한 불평이 아니라, 드라이버가 정확히 어떤 검사가 실패했는지 말해주는 겁니다.
페이지 A0의 바이트 3부터 10까지는 SFF-8472에 정의된 트랜시버 compliance 코드가 들어갑니다. 10GBASE-SR, LR, ER, SONET 코드, Fibre Channel 코드 등을 나타내는 비트들이죠. 이런 종류의 옵틱은 여덟 바이트가 전부 0이고, 그래서 메시지가 type 0이라고 부르는 겁니다. 스펙은 그 필드 어딘가에 최소 비트 하나는 설정돼 있을 걸 기대하고, 전부 0인 compliance 필드는 유효한 모듈 설명이 아닙니다. 예전 EX 코드는 그걸 아예 안 보고 바로 진단 페이지 파싱으로 넘어갔는데, 새 드라이버는 그 필드를 먼저 검증하고 나서 모듈을 알려진 10G 옵틱으로 취급하길 거부합니다. 그래서 unknown cable이 뜨고 DOM이 사라지는 거예요. MX 라인은 같은 경로에서 그 검사를 안 돌리고, 그래서 정확히 같은 부품이 거기선 여전히 동작하는 거고요.
누구랑 논쟁하기 전에 직접 증명해보세요. 셸로 들어가서 그 포트의 A0 페이지를 xcvrpeek로 찍어보고 오프셋 3부터 10까지 보세요. 전부 0이면 사건 종결입니다.
이걸 제자리에서 고치는 건 보통 여기서 막힙니다. 이론적으로는 xcvrpoke가 그 바이트들을 다시 써줍니다. 실제로는 많은 벤더가 A0 페이지를 잠가놔서 쓰기가 EIO로 돌아오고, 스위치 쪽에서는 그걸 어떻게 할 방법이 없습니다. 남은 건 공급업체입니다. 실제 compliance 코드로 프로그래밍된 옵틱을 보내주거나, A0을 언락한 채로 보내서 직접 비트를 설정하게 해주거나 둘 중 하나여야 합니다. 둘 다 안 된다면, 그건 Junos 탈을 쓴 공급업체 문제입니다.
아무도 추측을 시작하기 전에 확인해야 할 게 두 가지 있습니다.
먼저, 각 박스의 정확한 릴리스입니다. EX는 12.3으로 갔다고 하셨는데 MX960은 뭘 돌리고 있나요? 아직 예전 트레인이라면 두 박스는 사실 비교 대상이 아니고, 차이가 아직 아무것도 알려주지 않습니다.
둘째, MX 쪽 부품이 정말 같은 배치에서 나온 동일한 SFPP-C51-80-10GD인가요, 아니면 다른 주문에서 나온 같은 모델인가요? 배치 차이는 다들 바라는 것보다 큽니다.
양쪽 끝에서
show interfaces diagnostics optics를 올려주시고, 이미 인용하신 한 줄만이 아니라 옵틱을 뽑았다 다시 꽂을 때 메시지 로그가 찍는 전부를 올려주세요.양쪽 다 같은 부품, SFPP-C51-80-10GD, 같은 주문, 연속된 시리얼입니다.
MX960에서
show interfaces diagnostics optics는 전체 세트를 줍니다. 온도, 레이저 바이어스 전류, TX power, RX power까지. EX4200에서는 같은 명령이 인터페이스 헤더를 찍고 그다음엔 unknown cable 줄뿐, 그 이상은 없습니다. 옵틱을 다시 꽂으면 로그에SFP+ of type 0 EEPROM is Mis Programmed가 뜨고 그게 전부입니다. 어느 포트를 써도 마찬가지고요.거슬리는 부분은 업그레이드 전에는 바로 이 옵틱이, 바로 이 섀시와 포트에서 아무 불평 없이 DOM을 보고했다는 겁니다.
덧붙이자면 이 읽기 전용 절반은 반대편 진영에도 있습니다. Cisco에서는
show idprom interface <if> detail이 셸 곡예 없이 식별 바이트를 그대로 덤프해줍니다. 모듈이 Juniper 박스 근처에도 가기 전에 예비 스위치에서 배치를 확인하기 딱 좋죠.읽기는 어디서나 무해합니다. 호스트에서 쓰기는 완전히 다른 얘기입니다. xcvrpoke는 내부 도구고, 모듈 수리 수단으로 지원되지 않으며, 이미 말씀드렸듯 벤더 락 때문에 절반은 막힙니다. 이건 EEPROM의 뭐가 잘못됐는지 증명하는 용도로 쓰고, 그 증거를 옵틱을 판 곳에 넘기세요.
검색으로 여기 들어오신 분들을 위해 덧붙이자면, 같은 부류의 문제지만 증상은 완전히 다른 경우입니다.
EX4600의 ge-0/0/1에 무명 1G BiDi WDM SFP를 꽂았더니 인터페이스가 아예 존재하지 않았습니다.
show interfaces terse에도 빠져 있고, 그 인터페이스에 대고 뭘 실행하든error: device ge-0/0/1 not found가 돌아왔습니다. 로그에는OPTIC State changed for port: 0/0/1다음에Fibre channel transceiver plugged in without Fibre channel configuration!!가 찍혔습니다. EEPROM이 Junos가 이 모듈을 Gigabit Ethernet이 아니라 Fibre Channel 트랜시버로 분류하도록 코딩돼 있어서, 이더넷 인터페이스가 아예 만들어지지 않은 겁니다. 설정을 아무리 만져도 이건 안 고쳐지고, 제대로 코딩된 모듈이라야 고쳐집니다.그리고 이게 저가 시장에만 있는 얘기도 아닙니다. Citrix 브랜드 10G SFP+ 한 배치가 자사 제품인데도 NetScaler MPX와 SDX 어플라이언스에서 부팅 시
*** Unsupported SFP+/SFP type !를 로그에 남긴 적이 있습니다. 정상 제품은 라벨에 A2 리비전 표시가 있었고, 불량품은 RMA로 반품됐습니다. 잘못된 코딩은 가격대를 가리지 않고 일어납니다.확인했습니다, 정확한 오프셋 감사합니다.
A0 페이지에 xcvrpeek를 돌려보니 확인한 모든 SFPP-C51-80-10GD에서 오프셋 3부터 10까지가 0이었습니다. 아직 박스에 있는 것들까지 포함해서요. xcvrpoke는 바로 EIO를 돌려주니까 A0은 잠겨 있고 저희 쪽에서 건질 건 없습니다.
바이트 오프셋이랑 인용했던 로그 줄을 들고 공급업체한테 다시 갔습니다. 받아들였고 실제 compliance 코드로 배치를 재코딩 중입니다. MX960에 꽂혀 있는 것들은 그 플랫폼에서는 아무 불평이 없으니 그대로 둡니다. 위 설명을 답변으로 표시합니다.