Это зависит от базовой операционной системы, от Unix этот вид ограничений полностью возможен.
Если Вы не хотите, доверяют им достаточно для чтения кода, к которому, по моему скромному мнению, лучший путь:
Отсутствие программных дескрипторов (т.е. кластеров mbuf) можно увидеть с помощью:
# vmstat -z
Посмотрите столбец FAIL
.
Отсутствие аппаратных дескрипторов можно наблюдать только через специфичный для драйвера интерфейс, например, для карт Intel e1000 через:
# sysctl dev.em.0.debug=1 && dmesg | tail
...
em0: Tx Descriptors avail failure = 0
em0: RX discarded packets = 0
...
Также количество дескрипторов можно настроить через loader.conf
в некоторых сетевых интерфейсах
Что касается вашего вопроса «idrops vs. drop», вам следует поискать источники
if_data.ifi_iqdrops
if_snd.ifq_drops
Если я правильно понял, один предназначен для сброса входного сигнала, другой - для сброса выходного сигнала (например, ALTQ
).
PS. Дополнительные сведения см. В разделе 3.3 «Структура ifnet
» иллюстрированного тома 2 TCP / IP, Stevens & Wright. Или исходный код вашей ОС.