커널에 네트워크 장치 알리미를 등록하기 위해 다음 명령을 사용하고 있습니다.
netdev_rx_handler_register(dev, my_handler, data)
네트워크 SKB를 받은 후 이를 확인하고 ethertype이 설정되어 있으면 ETH_P_ARP
이를 인쇄합니다. skb->data
여기에는 ARP 정보가 포함되어야 하지만 skb->len
ARP 요청 길이에 해당하는 바이트도 포함하여 모든 바이트가 0으로 설정됩니다.
일반 PC에서는 작동하고 ARP 필드를 올바르게 인쇄하지만 원격 엔터프라이즈 서버에서는 실패합니다.
두 환경 모두에서 Ubuntu 22.04.3 LTS 및 5.15.0-87-generic을 사용하고 있습니다.
네트워크 장치와 관련된 문제일까요, 아니면 시스템 수준의 문제일까요?