OpenWRT를 실행하는 내장 장치가 있습니다. 저는 최근 DSA(Distributed Switch Architecture) 기능을 사용하여 최신 버전의 Linux(23.05-rc3)로 테스트를 시작했습니다. 제가 겪고 있는 문제 중 하나는 보고된 값이 /proc/net/dev
더 이상 정확하지 않다는 것입니다. 이전에는 bytes
각 포트의 트래픽에 대한 통계를 지속적으로 실행하기 위해 이 파일을 폴링하고 각 인터페이스의 필드 변경 사항을 모니터링했습니다 . 22.03에서 업데이트한 후(DSA를 사용하지 않음) 이제 값은 다음과 같습니다.많은예상보다 낮습니다. 포트 중 하나에 연결하고 4GB 파일을 다운로드하면 bytes
값이 몇 MB만 증가합니다.
이 주장은 의미가 있습니다. DSA의 목표는 커널이 스위치 하드웨어에 최대한 많은 작업을 오프로드할 수 있도록 하는 것입니다. 아마도 대부분의 패킷은 /proc/net/dev
커널이 더 이상 볼 수 없기 때문에 계산되지 않습니다 . 이 정보를 얻을 수 있는 방법이 있나요? 예를 들어 DSA는 스위치 자체에 대한 통계를 쿼리할 수 있는 방법을 제공합니까?
그렇지 않은 경우 DSA의 하드웨어 가속에서 특정 포트를 제외하여 해당 포트의 트래픽을 다시 모니터링할 수 있는 방법이 있습니까?