
Estou implementando um aplicativo de soquete simples em python e preciso dele para receber pacotes UDP com GRO habilitado. Verifiquei se apenas o serviço Python está em execução e se o GRO está habilitado via
eththool -k eth0 | egrep 'generic'
Mostra que GSO e GRO estão habilitados.
Além disso, uso o scapy para enviar pacotes UDP semelhantes aos abaixo. Eles não têm uma carga útil de propósito.
send(IP(dst="123.456.789.123")/UDP(dport=5000),count=10)
Isto é o que escrevi em Python até agora
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)
Portanto, isso imprime a carga do pacote cada vez que um é enviado (apenas para fins de monitoramento). Funciona e verificando as portas com
netstat -tulpen
Mostra aquela porta em execução, aberta para UDP.
Agora eu gostaria de habilitar o GRO com força nesta porta, como faço isso? Existe algum apoio para fazer algo assim?
Estou executando Linux Ubuntu com Kernel versão 5.0