Как установить длину очереди передачи для сетевого интерфейса в Mac OSX? На Linux команда будет
ifconfig en0 txqueuelen 5
но OSX не распознает txqueuelen в качестве допустимого параметра. Где BSD управляет такой конфигурацией?
Как установить длину очереди передачи для сетевого интерфейса в Mac OSX? На Linux команда будет
ifconfig en0 txqueuelen 5
но OSX не распознает txqueuelen в качестве допустимого параметра. Где BSD управляет такой конфигурацией?
Обычно sysctl используется для настройки параметров TCP. Я просмотрел вывод
sysctl -a
и хотя я не вижу ничего, что могло бы точно соответствовать, есть несколько возможных параметров. Я должен отметить, что BSD и Linux сильно различаются по своим внутренним элементам, и аналогичной настройки txqueuelen может и не быть. (то есть: парадигма может не относиться к сетевой реализации MacOS)
Насколько я могу судить, невозможно явно установить длину очереди вывода (кажется, что она жестко задана в ядре xnu: bsd/net/if.h: #define IFQ_MAXLEN 50).
Но вы можете установить максимальную длину входной очереди в OSX следующим образом (например, до 100 пакетов) - что может быть полезно для настройки производительности с потоками входящих пакетов - это внутренняя очередь, в которую пакеты помещаются, когда они выходят из входящего интерфейса:
sysctl -w net.inet.ip.intr_queue_maxlen=100