Сам демон умеет:
- определять интерфейс по Framed-IP-Address, Framed-Protocol+Nas-Port, или по Nas-Port-ID (если указано несколько аттрибутов - проверяет их соответствие друг другу);
- править radattr.pppX исходя из свежеполученных аттрибутов для CoA;
- отправлять нужному процессу SIGUSR1 для СоА или SIGHUP для DR.
Стянуть сабж + патч можно здесь. Документации нет, кому нужен список опций - может обратиться к оному из radiusd-cistron (который собссно и послужил основой, подвергнувшись кастрации явно лишнего для данной задачи). Статус - бета-версия, т.к. смахивает на законченный продукт и на первый взгляд работает, но толком не тестировалась. Ессно, идет как "as-is".
Багрепорт/фиксы - приветствуются. Разжевывать, как пользоваться и зачем надо вообще - не буду, ибо кому это нужно - ИМХО поймут сами, а кому не нужно - разжевывать смысла не вижу.
P.S. И было бы неплохо, чтобы кто-то добавил адекватную поддержку этой фичи биллингом - в идеале, проверка в billd/radacct необходимости смены скорости/разрыва сессии, и собссно выполнение нужной операции; если желающих не найдется - прийдется самому пилить...