요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
==============================================
Texas Instruments ICSSG PRUETH ethernet driver
==============================================
:Version: 1.0
ICSSG Firmware
==============
Every ICSSG core has two Programmable Real-Time Unit(PRUs), two auxiliary
Real-Time Transfer Unit (RTUs), and two Transmit Real-Time Transfer Units
(TX_PRUs). Each one of these runs its own firmware. The firmwares combnined are
referred as ICSSG Firmware.
Firmware Statistics
===================
The ICSSG firmware maintains certain statistics which are dumped by the driver
via ``ethtool -S <interface>``
These statistics are as follows,
- ``FW_RTU_PKT_DROP``: Diagnostic error counter which increments when RTU drops a locally injected packet due to port being disabled or rule violation.
- ``FW_Q0_OVERFLOW``: TX overflow counter for queue0
- ``FW_Q1_OVERFLOW``: TX overflow counter for queue1
- ``FW_Q2_OVERFLOW``: TX overflow counter for queue2
- ``FW_Q3_OVERFLOW``: TX overflow counter for queue3
- ``FW_Q4_OVERFLOW``: TX overflow counter for queue4
- ``FW_Q5_OVERFLOW``: TX overflow counter for queue5
- ``FW_Q6_OVERFLOW``: TX overflow counter for queue6
- ``FW_Q7_OVERFLOW``: TX overflow counter for queue7
- ``FW_DROPPED_PKT``: This counter is incremented when a packet is dropped at PRU because of rule violation.
- ``FW_RX_ERROR``: Incremented if there was a CRC error or Min/Max frame error at PRU
- ``FW_RX_DS_INVALID``: Incremented when RTU detects Data Status invalid condition
- ``FW_TX_DROPPED_PACKET``: Counter for packets dropped via TX Port
- ``FW_TX_TS_DROPPED_PACKET``: Counter for packets with TS flag dropped via TX Port
- ``FW_INF_PORT_DISABLED``: Incremented when RX frame is dropped due to port being disabled
- ``FW_INF_SAV``: Incremented when RX frame is dropped due to Source Address violation
- ``FW_INF_SA_DL``: Incremented when RX frame is dropped due to Source Address being in the denylist
- ``FW_INF_PORT_BLOCKED``: Incremented when RX frame is dropped due to port being blocked and frame being a special frame
- ``FW_INF_DROP_TAGGED`` : Incremented when RX frame is dropped for being tagged
- ``FW_INF_DROP_PRIOTAGGED``: Incremented when RX frame is dropped for being priority tagged
- ``FW_INF_DROP_NOTAG``: Incremented when RX frame is dropped for being untagged
- ``FW_INF_DROP_NOTMEMBER``: Incremented when RX frame is dropped for port not being member of VLAN
- ``FW_RX_EOF_SHORT_FRMERR``: Incremented if End Of Frame (EOF) task is scheduled without seeing RX_B1
- ``FW_RX_B0_DROP_EARLY_EOF``: Incremented when frame is dropped due to Early EOF
- ``FW_TX_JUMBO_FRM_CUTOFF``: Incremented when frame is cut off to prevent packet size > 2000 Bytes
- ``FW_RX_EXP_FRAG_Q_DROP``: Incremented when express frame is received in the same queue as the previous fragment
- ``FW_RX_FIFO_OVERRUN``: RX fifo overrun counter
- ``FW_CUT_THR_PKT``: Incremented when a packet is forwarded using Cut-Through forwarding method
- ``FW_HOST_RX_PKT_CNT``: Number of valid packets sent by Rx PRU to Host on PSI
- ``FW_HOST_TX_PKT_CNT``: Number of valid packets copied by RTU0 to Tx queues
- ``FW_HOST_EGRESS_Q_PRE_OVERFLOW``: Host Egress Q (Pre-emptible) Overflow Counter
- ``FW_HOST_EGRESS_Q_EXP_OVERFLOW``: Host Egress Q (Pre-emptible) Overflow Counter
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
ICSSG firmware 구성
1-16이 문서는 `GPL-2.0` 라이선스를 따릅니다.
Texas Instruments ICSSG PRUETH Ethernet 드라이버
버전 1.0
ICSSG firmware
각 ICSSG 코어에는 PRU(Programmable Real-Time Unit) 2개, 보조 RTU(Real-Time Transfer Unit) 2개, TX_PRU(Transmit Real-Time Transfer Unit) 2개가 있습니다. 각 유닛은 자체 firmware를 실행하며, 이 firmware 전체를 합쳐 ICSSG firmware라고 부릅니다.
코어 안의 실시간 처리 유닛 여섯 개가 각자의 firmware를 실행합니다.
.. SPDX-License-Identifier: GPL-2.0
==============================================
Texas Instruments ICSSG PRUETH ethernet driver
==============================================
:Version: 1.0
ICSSG Firmware
==============
Every ICSSG core has two Programmable Real-Time Unit(PRUs), two auxiliary
Real-Time Transfer Unit (RTUs), and two Transmit Real-Time Transfer Units
(TX_PRUs). Each one of these runs its own firmware. The firmwares combnined are
referred as ICSSG Firmware.
ICSSG firmware 통계
17-56Firmware 통계
ICSSG firmware는 여러 통계를 유지하고, 드라이버는 `ethtool -S <interface>`를 통해 이를 출력합니다.
카운터 이름과 증가 조건을 기능별로 정리했습니다.
Firmware Statistics
===================
The ICSSG firmware maintains certain statistics which are dumped by the driver
via ``ethtool -S <interface>``
These statistics are as follows,
- ``FW_RTU_PKT_DROP``: Diagnostic error counter which increments when RTU drops a locally injected packet due to port being disabled or rule violation.
- ``FW_Q0_OVERFLOW``: TX overflow counter for queue0
- ``FW_Q1_OVERFLOW``: TX overflow counter for queue1
- ``FW_Q2_OVERFLOW``: TX overflow counter for queue2
- ``FW_Q3_OVERFLOW``: TX overflow counter for queue3
- ``FW_Q4_OVERFLOW``: TX overflow counter for queue4
- ``FW_Q5_OVERFLOW``: TX overflow counter for queue5
- ``FW_Q6_OVERFLOW``: TX overflow counter for queue6
- ``FW_Q7_OVERFLOW``: TX overflow counter for queue7
- ``FW_DROPPED_PKT``: This counter is incremented when a packet is dropped at PRU because of rule violation.
- ``FW_RX_ERROR``: Incremented if there was a CRC error or Min/Max frame error at PRU
- ``FW_RX_DS_INVALID``: Incremented when RTU detects Data Status invalid condition
- ``FW_TX_DROPPED_PACKET``: Counter for packets dropped via TX Port
- ``FW_TX_TS_DROPPED_PACKET``: Counter for packets with TS flag dropped via TX Port
- ``FW_INF_PORT_DISABLED``: Incremented when RX frame is dropped due to port being disabled
- ``FW_INF_SAV``: Incremented when RX frame is dropped due to Source Address violation
- ``FW_INF_SA_DL``: Incremented when RX frame is dropped due to Source Address being in the denylist
- ``FW_INF_PORT_BLOCKED``: Incremented when RX frame is dropped due to port being blocked and frame being a special frame
- ``FW_INF_DROP_TAGGED`` : Incremented when RX frame is dropped for being tagged
- ``FW_INF_DROP_PRIOTAGGED``: Incremented when RX frame is dropped for being priority tagged
- ``FW_INF_DROP_NOTAG``: Incremented when RX frame is dropped for being untagged
- ``FW_INF_DROP_NOTMEMBER``: Incremented when RX frame is dropped for port not being member of VLAN
- ``FW_RX_EOF_SHORT_FRMERR``: Incremented if End Of Frame (EOF) task is scheduled without seeing RX_B1
- ``FW_RX_B0_DROP_EARLY_EOF``: Incremented when frame is dropped due to Early EOF
- ``FW_TX_JUMBO_FRM_CUTOFF``: Incremented when frame is cut off to prevent packet size > 2000 Bytes
- ``FW_RX_EXP_FRAG_Q_DROP``: Incremented when express frame is received in the same queue as the previous fragment
- ``FW_RX_FIFO_OVERRUN``: RX fifo overrun counter
- ``FW_CUT_THR_PKT``: Incremented when a packet is forwarded using Cut-Through forwarding method
- ``FW_HOST_RX_PKT_CNT``: Number of valid packets sent by Rx PRU to Host on PSI
- ``FW_HOST_TX_PKT_CNT``: Number of valid packets copied by RTU0 to Tx queues
- ``FW_HOST_EGRESS_Q_PRE_OVERFLOW``: Host Egress Q (Pre-emptible) Overflow Counter
- ``FW_HOST_EGRESS_Q_EXP_OVERFLOW``: Host Egress Q (Pre-emptible) Overflow Counter
요약·해설
icssg_prueth.rst:1-56ICSSG Ethernet data path는 여섯 개의 실시간 처리 유닛이 나눠 실행하는 firmware에 크게 의존합니다. `ethtool -S` 카운터를 queue overflow, ingress rule, frame 형식, host egress로 묶어 보면 drop 위치를 빠르게 좁힐 수 있습니다.
카운터 접두사와 주요 원인입니다.