Я хочу попробовать UDP GSO, поэтому я загружаю тестовую программу из https://github.com/torvalds/linux/blob/master/tools/testing/selftests/net/udpgso.c
Затем я компилирую udpgso. c в CentOS8 ( g cc udpgso) . c -o udpgso ), все в порядке. Когда я запускаю программу следующим образом:
./udpgso -4C
4-й тестовый случай всегда терпит неудачу, вывод:
ipv4 tx:1472 gso:1472
__send_one error, errno:12
./udpgso: send failed while expecting success
sendmsg () return -1, и errno равно ENOMEM , что означает «Недостаточно памяти для выполнения запроса», но я установил по умолчанию и максимальный размер буфера отправки сокета равным 4096000.
Мой тестовый сервер имеет системную память 256 ГБ, поэтому я почти уверен, что для этого теста достаточно памяти.
Что я пропустил в этом тесте?