Привет всем!Использую iptable для фильрации пакетов в QUEUE очередь.
По умолчанию очередь в /proc/sys/net/ipv4/ip_queue_maxlen выставлена в 1024 пакета.При тестировании отправляю 10000 UDP пакетов. Все они попадают под правило и отправляются в QUEUE очередь. Мое приложение, разгребающее очередь вылетает со след. ошибкой:
"passer: Failed to receive netlink message: No buffer space available"похоже на то, что буфер переполняется. В документации к iptables написано, что при переполнения очереди, не поместившиеся пакеты будут отброшены. Но вместо этого вылетает мое приложение с ошибкой переполнения очереди. Почему так происходит?
Попробовал увеличить размер очереди до 10000 тысяч, результата никакого не принесло. Очередь все равно переполняется.
На каждый пакет мое приложение устанавливает вердикт: либо разрешает пакет, либо отбрасывает.
Надеюсь на вашу помощь!
Спасибо, всего доброго!
Тестирую в Ubuntu, которые запущены под VMWare на WindowsXP.
У меня есть мысль, что это не очередь переполняется, а приемный буфер сетевой карты или чего-то вроде этого.При переполнении очереди, пакеты сверху будут просто отбрасываться, верно?
А здесь вылетает мое приложение с ошибкой.Надеюсь на вашу помощь!
Спасибо, всего доброго!
дай ядру больше памяти под сетевой стёк