Предлагаю следующий интерфейс между скриптом linkupdown и плагином:
В вызов скрипта linkupdown добавить параметр Plugin=<имя>, где имя - полный путь к плагину. В случае вызова с таким параметром linkupdown в цикле разбора классов трафика должен вызывать плагин <имя>, передавая ему в качестве параметров следующую строку (в терминах скрипта linkupdown):
$ACTION $INTERFACE $CLIENT_IP $fw_num_in $speed_in $fw_num_out $speed_out @nets_arr
Все действия по настройке/активации файервола/шейпера в этом случае возлагаются на плагин.
Может интерфейс можно сделать и по-лучше, но мне что-то ничего другого пока в башку не лезет... предлагайте
