Estou lendo datagramas UDP em um servidor linux a 700.000 por segundo do sistema HDL32 LIDAR. Interface é ipv4. Soquetes são definidos para SOREUSADDR. Eu ligo o LIDAR, inicio o programa socket, ele começou a ler os datagramas. Ele durou cerca de 4 horas, então eu desliguei a leitura do programa enquanto o LIDAR ainda estava em operação.
O LIDAR está desativado. Eu corro programa está lendo pacotes antigos. Desligue o Linux, reinicie, ele ainda está lendo pacotes. Reinicie a rede de serviço; Ainda lendo pacotes antigos.
É impressionante dizer o mínimo, mas ...
Questão 1; Como eu digo ao Linux para limpar antigos datagramas UDP? Use sysctl? Limpo o ipv4.udp_mem?
Pergunta 2. No futuro, qual rotina de inicialização devo adotar para garantir que os dados antigos estejam fora da pilha?
Tags networking udp socket sysctl