Habilite GRO para el puerto UDP explícitamente

Habilite GRO para el puerto UDP explícitamente

Estoy implementando una aplicación de socket simple en Python y la necesito para recibir paquetes UDP con GRO habilitado. He comprobado que solo se está ejecutando el servicio Python y que GRO está habilitado a través de

eththool -k eth0 | egrep 'generic'

Muestra que tanto GSO como GRO están habilitados.

Además, uso scapy para enviar paquetes UDP similares al siguiente. No tienen carga útil expresamente.

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

Esto es lo que he escrito en Python hasta ahora.

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)

Entonces esto imprime la carga útil del paquete cada vez que se envía uno (solo con fines de monitoreo). Funciona y comprobando los puertos con

netstat -tulpen

Muestra que el puerto se está ejecutando y está abierto para UDP.

Ahora me gustaría habilitar GRO con fuerza en este puerto, ¿cómo lo hago? ¿Hay algún apoyo para hacer algo así?

Estoy ejecutando Linux Ubuntu con Kernel versión 5.0

información relacionada