Accton AS9716-32D, 100G에서 INNOLIGHT QSFP28 LR4가 Arista와는 링크되는데 Fortigate 3810D CFP2-LR4와는 전혀 안 됨
SONiC master(빌드 master.207726)를 올린 Accton AS9716-32D에서 leaf 하나를 개통하는 중입니다. 400G를 지원하는 포트 네 개를 방화벽 페어 쪽으로 100G에 물려야 하는데, 단 하나도 링크가 안 붙습니다.
- Accton AS9716-32D, SONiC master.207726
- 스위치 케이지에 꽂힌 INNOLIGHT TR-FC13R-N00 QSFP28 LR4
- 반대편은 CFP2-LR4를 꽂은 Fortigate 3810D
- 포트는 100G로 강제, autoneg 꺼짐, RS FEC, MTU 9100
sudo config interface speed Ethernet0 100000
show interfaces status
Interface Speed MTU FEC Admin Oper
Ethernet0 100G 9100 rs up down
시도한 것:
- 포트를 PAM4 2레인으로도, NRZ 4레인으로도 설정 - 어느 쪽도 차이 없음
- RS FEC 대신
sudo config interface fec Ethernet0 none - 같은 INNOLIGHT 모듈과 같은 광케이블을 Arista QSFP28 포트에 물려봄 - 거기서는 바로 링크가 올라옴
그러니 옵틱과 광케이블 쪽은 혐의를 벗었습니다. 이 400G 포트를 100G로 구동하는 방식이나 CFP2 쪽이 레인에서 기대하는 뭔가 때문에 계속 안 뜨는 것 같습니다. 이 플랫폼에서 400G 케이지로 CFP2-LR4에 100G를 물려본 분 계신가요? 포트 프로파일을 어떻게 잡으셨나요?
Comments 7
레인 계산 들어가기 전에 두 가지만 먼저 여쭤볼게요. Fortigate 쪽에서는 뭐라고 나오나요 - CFP2가 빛은 보는데 다운 상태로 있는 건가요, 아니면 모듈 자체를 아예 인식을 못 하는 건가요? 그리고 3810D 포트에는 FEC가 어떻게 설정돼 있나요?
LR4 페어에서는 한쪽에만 RS FEC가 켜져 있어도 링크가 영원히 안 뜨기에 충분하고, CFP2-LR4 포트는 애초에 켤 RS FEC 자체가 없는 경우가 보통입니다.
Fortigate 쪽은 인터페이스가 다운으로 나오고 카운터에도 쓸 만한 정보가 없습니다. 모듈은 거기서 인식되고, 저희가 손대기 전에는 그 포트가 다른 장비와 100G 링크를 물고 있었습니다. 그쪽에는 노출돼 있든 숨어 있든 FEC 설정 자체를 찾을 수가 없습니다.
저희 쪽은 RS FEC가 깔끔하게 꺼집니다 -
sudo config interface fec Ethernet0 none실행 후 FEC 컬럼에none이 찍히고, 포트가 한 번 떨어졌다 admin up, oper down으로 똑같이 돌아옵니다. 그러니 스위치 쪽에서만 RS FEC를 꺼봐야 얻는 게 없습니다.시도하신 두 프로파일은 서로 동급이 아니고, 그중 하나는 구조적으로 아예 될 수가 없는 겁니다. CFP2-LR4는 4레인 NRZ 인터페이스입니다 - 호스트 쪽으로 25G 전기 레인 4개, 광케이블 쪽으로 파장 4개죠. 포트 프로파일이 케이지를 PAM4 2레인으로 잡으면, 스위치는 2x50G를 밀어넣는데 상대는 라인 쪽으로 NRZ 레인 4개를 넘겨야 하니 FEC 설정과 무관하게 아무것도 트레이닝되지 않습니다. 이 조합에서 가능한 프로파일은 NRZ 4레인 하나뿐입니다.
그걸 고정하고 나면 남는 변수는 FEC입니다. 100GBASE-LR4는 RS FEC를 안 쓰고, CFP2-LR4 포트는 보통 그걸 켤 방법 자체가 없는데, Fortigate에서 확인하신 것과도 맞아떨어집니다. 그쪽 포트에 여전히
rs가 걸려 있다면 그것만으로도 링크가 계속 안 뜨는 걸 설명하기에 충분합니다.정리하면: NRZ 4레인, autoneg 끄고,
sudo config interface fec Ethernet0 none, 포트를 한 번 떨궜다 올리고, 그다음show interfaces status로 두 설정이 실제로 적용됐는지 다시 확인하세요.재미없는 표준 얘기를 좀 보태자면, 여기서는 FEC가 협상되는 게 하나도 없습니다. 양쪽 끝의 정적인 속성이고 링크의 모든 레인에서 일치해야 합니다. 채널화된 100G에 대한 벤더 가이드도 한 문장으로 똑같이 말합니다 - 100G 포트를 25G 레인으로 쪼갤 때는 모든 레인 양 끝이 같은 FEC 모드로 돌아야지, 안 그러면 레인이 절대 트레이닝되지 않는다고요.
TR-FC13R-N00의 EEPROM이 실제로 뭐라고 주장하는지 덤프해보는 것도 해볼 만합니다. 이 모듈들은 100GBASE-LR4와 25GBASE-LR 준수를 보고하는데, 일부 플랫폼은 그 필드를 보고 기본 레인 모드를 정하지, config에 입력한 값을 그대로 따르지 않습니다.
벤더는 다른데 모양은 똑같네요. 몇 달째 멀쩡하던 MikroTik CCR2216과 Arista 사이 QSFP28 SR4 옵틱 100G 링크가 어느 날 그냥 안 올라오기 시작한 적이 있습니다. 그 기간에 RouterOS가 7.8에서 7.12.1로 넘어갔더군요. 양쪽 다 강제 설정이었습니다 - CCR 쪽은 auto-negotiation=no, fec-mode=fec91, MTU 9000, 100G-baseSR4-LR4, Arista 쪽은 100gfull에 reed-solomon 오류 정정. 옵틱을 교체해도 아무 변화가 없었고, 네 레인 모두 수신 파워는 정상이었고, 포트를 4x25G로 나눠보면 레인이 플래핑만 했습니다.
거기서도 결국 답은 못 찾았지만, 패턴은 여기와 똑같습니다 - 옵틱은 무죄고, 한쪽의 포트 드라이버가 모르는 새 바뀐 거죠. master 스냅샷을 쓰고 계신다면 그게 제가 제일 먼저 건드려볼 변수입니다.
마지막 단계는 조심하세요. FEC를 none으로 설정하고 출력에서
none이 보인다고 해서 포트가 실제로 RS FEC 없이 돌고 있다는 증거는 아닙니다. 이런 플랫폼 여러 곳에서 그 값은 config 데이터베이스에 반영되고 CLI는 그걸 그대로 순순히 출력하지만, serdes는 포트가 진짜로 재생성될 때까지 원래 프로그래밍된 모드를 그대로 유지합니다. 400G 지원 케이지에서는 속도 변경만으로도 어차피 재생성이 일어나니, 두 설정이 서로 맞물리고 순서가 중요해집니다.레인 프로파일도 같은 이유로 주의해야 합니다 - breakout이 되는 케이지에서는 이게
sudo config interface speed하나만이 아니라 플랫폼 포트 설정에서 나옵니다. 프로파일이 한 번도 재생성되지 않았다면 두 시도 다 사실은 같은 레인 맵 위에서 돌았을 수 있고, 그럼 PAM4와 NRZ가 똑같아 보인 것도 설명이 됩니다. 변경 후에는 박스를 리로드하고 콜드 스타트부터 다시 확인하세요.말씀하신 걸 다 해봤습니다. 포트를 NRZ 4레인으로 재생성하고, 저희 쪽 FEC는 none, autoneg 끄고, config 저장, 전체 리로드까지 하고 콜드 스타트부터 다시 확인했습니다. CFP2 페어는 여전히 다운입니다. Fortigate 쪽 RS FEC는 정말로 노출돼 있지 않아서, 그쪽에서 맞춰볼 미스매치조차 만들 수가 없습니다.
그런데 같은 케이지에 꽂힌 같은 INNOLIGHT TR-FC13R-N00은 Arista QSFP28 포트와는 몇 초 만에 링크되니, 모듈과 광케이블은 여전히 혐의를 벗은 상태입니다.
전체 기술 덤프를 첨부하고 싶었는데 여기 용량 제한을 넘네요. 일단 포트 네 개는 계속 다운 상태로 두고 방화벽 업링크는 다른 장비로 옮겼습니다. 이 플랫폼에서 400G 포트로 CFP2에 실제로 100G를 물려보신 분이 있다면 어떤 프로파일로 끝내셨는지 알고 싶습니다.