← Ethernet 상세 목차

Hardware · Ethernet detailed manual 07 · Linux v6.18.37

7. ethtool, loopback과 counter ladder로 PHY 문제를 재현한다

하나의 ping 대신 동일한 sequence 번호를 가진 frame을 보내 PHY, MAC, DMA와 userspace counter의 첫 감소 지점을 찾습니다. loopback 위치를 바꿔 송신과 수신 경계를 단계적으로 넓힙니다.

상세 표
2
검증 행
16
절차
4 checkpoints
기준
IEEE 802.3 · phylib/phylink · Linux v6.18.37

CHAPTER 07

7. ethtool, loopback과 counter ladder로 PHY 문제를 재현한다

하나의 ping 대신 동일한 sequence 번호를 가진 frame을 보내 PHY, MAC, DMA와 userspace counter의 첫 감소 지점을 찾습니다. loopback 위치를 바꿔 송신과 수신 경계를 단계적으로 넓힙니다.

counter ladder

PHY symbol error, MAC CRC/good frame, DMA descriptor, netdev와 socket count는 서로 다른 drop 지점을 나타냅니다.

loopback 위치

MAC, PCS, PHY digital, PHY analog, external plug loopback은 포함하는 회로 범위가 다릅니다. 위치를 기록하지 않은 loopback 성공은 의미가 약합니다.

ethtool dump

`ethtool`, `-S`, `--phy-statistics`, `--show-eee`, `-m` 출력은 driver 지원 범위가 다릅니다. raw register와 교차 확인합니다.

재현 행렬

speed, duplex, cable, partner, temperature, cold/warm, EEE와 traffic direction을 한 번에 하나씩 바꿉니다.

레지스터와 관측값을 함께 읽는 표

항목소유 블록설정 또는 의미정상 증거실패 해석
PHY basic/linkPHYAN과 resolved tuple시험 조건과 일치기본 link 조건 불일치
PHY error countersPHY PCS/PMAsymbol, receive, false carrier정상 기준 대비 증가 없음MDI/SI/clock 경계
MAC MMC countersMACgood, CRC, alignment, length, pause보낸 frame과 방향별 일치MAC 전후 drop 위치
DMA countersDMA/driverdescriptor complete, overflow, missedMAC good frame과 근접ring/FIFO 경계
netdev statsLinuxpackets/bytes/errors/droppedDMA 처리량과 일치driver/stack drop
socket/applicationuserspacesequence와 latency손실 없이 최종 도착protocol/queue/application 경계

증상별로 오류 발생 지점을 찾는 표

관측 증상직전 통과 증거우선 확인반증 시험판정
PHY symbol부터 증가TX stimulus 정상cable/magnetics/analoginternal PHY loopback과 external loopback 비교PHY 외부 또는 PMA
symbol 0, MAC CRC 증가PHY PCS 정상PHY-MAC interface timingRGMII/SGMII loopbackMAC interface 경계
MAC good, DMA 감소frame filter 통과descriptor/FIFOring dump와 overflow counterDMA 경계
DMA complete, netdev 감소descriptor CPU ownershipdriver drop reasonNAPI trace와 skb allocationdriver/NAPI 경계
netdev RX, socket 감소stack 진입routing/netfilter/socket queuedrop monitor와 packet tracenetwork stack/userspace
장시간 후에만 실패초기 모든 단계 통과counter wrap, thermal, EEE, ring wrap시간축과 환경 센서 동시 기록누적/경계조건 문제
그림 1. 「7. ethtool, loopback과 counter ladder로 PHY 문제를 재현한다」의 실행 순서왼쪽부터 신호나 데이터를 처리하는 순서를 나타냅니다. 각 단계에서 확인할 항목을 함께 표시했습니다.
01 sequence frame 생성
02 PHY counter
03 MAC counter
04 DMA descriptor
05 NAPI/netdev
06 protocol stack
07 socket sequence
08 첫 감소 판정

실제 검증 절차

순서실행남길 증거판정 목적
1시험 전 모든 가능한 counter를 raw/이름 두 형태로 저장합니다.baseline snapshot증분 계산 기반
2고정 개수의 sequence frame을 한 방향씩 전송합니다.송신 수와 시간 범위양방향 혼입 방지
3시험 후 counter delta를 한 행에 정렬합니다.첫 감소 지점실패 경계 확정
4loopback 위치를 MAC→PCS→PHY→external 순서로 넓힙니다.위치별 pass/fail최소 실패 범위 식별

주의일부 통계 register는 read-to-clear이거나 폭이 작아 wrap됩니다. 수집 주기와 clear 동작을 기록하지 않으면 delta가 틀립니다.

내부 패킷 생성기와 외부 계측기는 서로 다른 경로를 봅니다

위의 counter ladder를 다이 내부 시험에도 적용하려면 주입 위치, 되돌림 위치, 검사 위치를 먼저 구분합니다. 내장 생성기가 MAC 가까이에서 프레임을 만들고 검사기가 돌아온 결과를 대조하더라도, 외부 케이블이나 광모듈을 지나지 않는 경로라면 그 부품을 시험한 결과가 아닙니다. 생성기·검사기가 있다는 사실만으로 모든 내부 경합이나 오류를 검출한다고 주장할 수도 없습니다.

AMD PG138 v8.0의 Basic Pattern Generator는 두 모드를 구분합니다. loopback 모드에서는 RX FIFO의 데이터가 주소 교환 모듈을 거쳐 TX FIFO로 전달되고, generator 모드에서는 생성기가 TX 데이터를 제공하고 RX 데이터는 검사기가 확인합니다. 따라서 시험 기록에는 단순히 “루프백 통과”라고 쓰지 말고 어떤 모드·입력·비교 기준을 사용했는지 적습니다. 이 예시는 AXI 1G/2.5G Ethernet의 해당 블록 설명이며 다른 고속 MAC IP의 내부 구조를 증명하지 않습니다.

AMD AM017의 GTM 루프백처럼 near-end와 far-end, PCS와 PMA의 선택에 따라 되돌리는 위치도 달라집니다. PRBS는 의사 난수 비트열을 생성·비교하는 시험이며, 그 통과만으로 MAC 프레임의 길이·순서·내용과 소프트웨어 전달까지 검증했다고 보지 않습니다. 실제 선택한 경로와 클록·리셋 조건은 해당 트랜시버 문서로 확인합니다.

외부 트래픽 시험은 실제 전기·광 채널과 상대 장비를 포함할 수 있습니다. Keysight와 Credo의 2024년 공개 시연은 외부 AEC를 통한 1.6T Layer 2 송수신·계측을 설명합니다. 이를 근거로 “외부 장비로는 1.6T를 시험할 수 없다”고 일반화하지 않습니다. 이 제조사 시연은 특정 TeraBIST 구현의 실리콘 측정이나 우위 검증이 아니며, 웨이퍼 ATE의 접근 지점·시험 목적과도 구분합니다.

  1. 생성한 프레임의 길이·내용·시퀀스와 전송률, 오류 주입 조건 및 검사기의 비교 규칙을 고정합니다. 지원하지 않는 자극을 시험했다고 기록하지 않습니다.
  2. 내부 루프백과 외부 링크에 가능한 한 같은 트래픽 조건을 적용하고, 주입·반환·검사 지점을 각각 표시합니다. 포함되지 않은 회로와 매체도 함께 적습니다.
  3. 송수신 개수, 프레임 CRC와 지원되는 FEC 통계, 지연·온도·실패 시점을 나란히 남깁니다. 카운터의 위치·단위·초기화 조건을 맞추고 위의 PHY→MAC→DMA→소켓 경로와 연결해 해석합니다.

내부 경로가 통과해도 외부 채널과 상호운용 시험은 남을 수 있고, 외부 링크가 통과해도 시험하지 않은 내부 경계 조건은 남습니다. 구성도는 시험 배치를 설명하는 자료이지 오류 검출률·전력·실리콘 동작을 측정한 결과가 아닙니다. 여기서는 공개 문서로 시험 경계를 대조했으며 실제 장비 시험은 수행하지 않았습니다.

English summary. Record injection, loopback and checker locations separately. Internal packet tests, PRBS checks and external link measurements exercise different paths; none alone proves complete MAC, channel and software coverage.

공개적으로 다시 확인할 수 있는 자료

공개되지 않은 제조사 레지스터나 제품별 오프셋은 추측하지 않았습니다. 아래의 제조사 자료, 아키텍처 문서, Linux v6.18.37 원본으로 확인할 수 있는 내용만 다뤘습니다.

Linux phylink

PHY, fixed-link, in-band PCS와 MAC callback의 관계