escreve erro para rmem_max em Angstrom

1

Estou tentando ajustar o tamanho do buffer de recepção e transmissão UDP. De acordo com as minhas necessidades de aplicação em tempo real, eu preciso configurar o buffer Tx como 6 bytes e o buffer Rx como 22 bytes. Estou executando o Angstrom em um processador ARM A9. (Altera ciclone v soc). O cliente e o servidor estão se comunicando via Wi-Fi no modo ad hoc.

root@cyclone5:/proc/sys/net/core# cat rmem_max
163840
root@cyclone5:/proc/sys/net/core# sysctl -w rmem_max=22
sysctl: cannot stat /proc/sys/rmem_max: No such file or directory

O arquivo está localizado no caminho /proc/sys/net/core , mas o stat está procurando pelo arquivo no caminho /proc/sys/

Eu também tentei o seguinte:

root@cyclone5:/proc/sys/net/core# sysctl -w net.core.rmem_max=22
sysctl: setting key "net.core.rmem_max": Invalid argument
net.core.rmem_max = 22

Alguém tem uma mão sobre este problema?

O propósito de ajustar os tamanhos de buffer é porque, eu não quero enfileirar os pacotes nos buffers. Não há problema em sobrescrever o pacote antigo com novos pacotes, toda vez que a chamada para recvfrom e sendto é feita.

Editar:

Um pouco mais de depuração para este problema, descobri que os bytes mínimos que posso definir para este buffer são 2240 bytes.

root@cyclone5:/proc/sys/net/core# echo 2238 > rmem_max
-sh: echo: write error: Invalid argument
root@cyclone5:/proc/sys/net/core# echo 2239 > rmem_max
-sh: echo: write error: Invalid argument
root@cyclone5:/proc/sys/net/core# echo 2240 > rmem_max
root@cyclone5:/proc/sys/net/core# cat rmem_max
2240

Existe alguma maneira de reduzir esse número para apenas 22 bytes?

    
por vk_gst 11.12.2017 / 11:32

0 respostas