This patch tested on RELENG_6 and RELENG_5. Through a pseudo device /dev/ipfwctl we can control an ipfw state. The access to ipfwctl device can be configured via devfs.conf. User must have a write permissions to /dev/ipfwctl for change ipfw state and a read permissions for read ipfw state. The traffic shaper (dummynet) can be controlled through a pseudo device /dev/dnctl. I has added a three new options to /sbin/ipfw: -C - force using an ioctl instead sockopt; -I dev - specify an another device name for ipfw (default name /dev/ipfwctl). -D dev - specify an another device name for dummynet (default name /dev/dnctl). For enabling an ioctl control-interface you should put two options in a kernel config file and recompile kernel: device ipfwctl device dnctl (IPFIREWALL and DUMMYNET should be specified too). KOI8-R Russian: Патч добавляет возможность управлять файрволом IPFW через псевдо девайс /dev/ipfwctl. Права доступа к этому файлу определяют права на изменение и чтение состояния файрвола. Они могут быть настроены через devfs.conf. Если пользователь имеет права для чтения ipfwctl, то он может просматривать состояние файрвола, если для записи - изменять состояние файрвола. Для управления шейпером dummynet используется /dev/dnctl. В утилиту /sbin/ipfw добавлено 3 новых опции: -C - использовать ioctl интерфейс управления вместо RAW сокетов. -I dev - указать другое имя для файла устройства ipfw (по умолчанию используется /dev/ipfwctl). -D dev - указать другое имя для файла устройства dummynet (по умолчанию используется /dev/dnctl). Для включения интерфейса управления через ioctl необходимо в конфигурационном файле ядра добавить две опции: device ipfwctl device dnctl (опции IPFWIREWALL и DUMMYNET тоже должны быть определены). (c) by Andrey V. Elsukov, bu7cheryandex.ru