네, 아주 정확하고 중요한 점을 짚어주셨습니다. 그 점을 고려하지 않으면 테스트가 제대로 진행되지 않을 수 있습니다. 사용자께서 GoldVIP 보드의 하드웨어 아키텍처, 특히 SJA1110 스위치 칩의 역할을 정확히 이해하고 계십니다.
제가 이전에 제시한 계획은 일반적인 리눅스 시스템을 가정한 것이었고, 이제 S32G의 특수한 하드웨어 구조를 반영하여 계획을 수정하고 구체화해야 합니다.
S32G 보드의 네트워크 포트는 크게 두 종류로 나뉩니다.
eth0
또는 end0
으로 표시됨)는 CPU의 이더넷 컨트롤러(GMAC)에 비교적 직접 연결되어 있습니다.tc
명령어로 CBS 규칙을 적용하면, 이는 리눅스 커널(소프트웨어)이 직접 트래픽 쉐이핑을 수행하는 것을 의미합니다.tc
명령어가 SJA1110 스위치 칩의 하드웨어 CBS 기능을 직접 설정할 수 있어야 합니다. 매뉴얼에 나온 offload 1
옵션이 바로 이 기능을 의미합니다.이제 두 가지 시나리오를 모두 테스트하여 소프트웨어 CBS와 하드웨어 오프로딩 CBS의 성능을 모두 평가하는 계획을 세우겠습니다.
먼저 가장 확실하게 동작을 확인할 수 있는 GMAC 포트를 이용해 테스트 방법론 자체를 검증합니다.
eth0
) <–> PC 2eth0
인터페이스에 IP를 설정합니다.eth0
인터페이스에 mqprio
및 CBS tc
규칙을 적용합니다. 이 경우 offload
옵션은 빼거나 hw 0
으로 설정하여 소프트웨어 처리를 명시합니다.
# MQPrio Qdisc 설정
tc qdisc add dev eth0 root handle 1: mqprio num_tc 5 ...
# CBS Qdisc 설정 (offload 없음)
tc qdisc replace dev eth0 parent 1:2 cbs idleslope 10000 sendslope -990000 ...
tc qdisc replace dev eth0 parent 1:3 cbs idleslope 20000 sendslope -980000 ...
top
이나 htop
같은 명령어로 CPU 사용량을 확인합니다. 소프트웨어로 처리하므로 CPU 부하가 높게 나타날 것입니다.tc -s qdisc show dev eth0
명령어로 드랍 통계를 확인하여 10Mbps 스트림의 드랍 현상을 관찰합니다.Plan A가 성공하여 테스트 방법이 검증되면, 이제 진짜 목표인 하드웨어 오프로딩 성능을 테스트합니다.
pfe0sl
)pfe1sl
)pfe0sl
, pfe1sl
)를 브릿지로 묶어 L2 스위치처럼 동작하게 합니다.
ip link add name br0 type bridge
ip link set dev pfe0sl master br0
ip link set dev pfe1sl master br0
ip link set dev pfe0sl up
ip link set dev pfe1sl up
ip link set dev br0 up
pfe1sl
)에 tc
규칙을 적용합니다. offload 1
옵션이 여기서 핵심입니다.
# MQPrio Qdisc 설정 (offload 활성화)
tc qdisc add dev pfe1sl root handle 1: mqprio hw 1 ...
# CBS Qdisc 설정 (offload 활성화)
tc qdisc replace dev pfe1sl parent 1:2 cbs ... offload 1
tc qdisc replace dev pfe1sl parent 1:3 cbs ... offload 1
sja1110
드라이버가 tc
명령을 해석하여 스위치 칩의 하드웨어 레지스터를 직접 설정했다는 의미입니다. 만약 드라이버가 이 기능을 지원하지 않으면 “Operation not supported” 같은 에러가 발생할 것입니다.tc -s
통계에는 잡히지 않을 수 있습니다. 최종 수신율을 보는 것이 더 정확할 수 있습니다.iproute2
(tc
포함)와 iperf3
를 설치합니다.eth0
)를 사용하여 리눅스 커널의 CBS 기능이 예상대로 동작하는지 (트래픽 제한, 드랍 발생) 확인합니다.pfe0sl
, pfe1sl
)를 브릿지로 묶고, offload 1
옵션을 포함하여 tc
규칙을 적용해 봅니다.
tc
명령이 성공하는지 여부가 1차 관문입니다.이처럼 단계적으로 접근하면, S32G의 복잡한 네트워크 구조를 이해하고 소프트웨어/하드웨어 QoS 성능을 모두 체계적으로 평가하실 수 있습니다. Plan A를 통해 테스트 방법론을 확립하고, Plan B를 통해 실제 하드웨어 성능을 측정하는 것이 핵심입니다.