UDP 포트에 대해 GRO를 명시적으로 활성화합니다.

UDP 포트에 대해 GRO를 명시적으로 활성화합니다.

저는 Python으로 간단한 소켓 애플리케이션을 구현 중이며 GRO가 활성화된 UDP 패킷을 수신하려면 이 애플리케이션이 필요합니다. Python 서비스만 실행 중이고 다음을 통해 GRO가 활성화되어 있는지 확인했습니다.

eththool -k eth0 | egrep 'generic'

GSO와 GRO가 모두 활성화되어 있음을 보여줍니다.

또한 저는 scapy를 사용하여 아래와 유사한 UDP 패키지를 보냅니다. 의도적으로 페이로드가 없습니다.

send(IP(dst="123.456.789.123")/UDP(dport=5000),count=10)

지금까지 Python으로 작성한 내용은 다음과 같습니다.

import socket, select

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 0)

s.bind(('123.456.789.123',5000))

while True:
  result = select.select([s],[],[])
  output = result[0][0].recv(512)
  print (output)

따라서 이는 패키지가 전송될 때마다 패키지의 페이로드를 인쇄합니다(모니터링 목적으로만). 작동하며 포트를 확인하여

netstat -tulpen

UDP용으로 열려 있는 포트가 실행 중임을 보여줍니다.

이제 이 포트에서 GRO를 강제로 활성화하고 싶습니다. 어떻게 해야 합니까? 그런 일을 할 수 있는 지원이 있나요?

커널 버전 5.0으로 Linux Ubuntu를 실행하고 있습니다.

관련 정보