CoA и обнуление Session time

CarTer
2012-01-26
2013-10-17
  • CarTer
    CarTer
    2012-01-26

    На FreeBSD 8.1-R стоит mpd Version 5.5, подключение клиентов происходит по протоколу pppoe.
    Так вот когда скриптом динамически меняешь скорость у подключенного клиента
    /bin/echo User-Name=$User_Name,mpd-filter+=\\\"1\#1=match dst net … |/usr/local/bin/radclient -x $nas_ip:3799 coa pass
    у него на интерфейсе ng сбрасывается счетчик Session time.
    Это так и должно? Фактического же пересоздания сессии не происходит.
    Зачем тогда при такой реализации параметр Session timeout?

     
  • Возможно, я неправ, но похоже на ошибку дизайна. По моему, параметр 'set iface session ' должен относиться к к уровню 'link'. Так же, таймер, контролирующий длительность сессии должен запускаться в link.c, а не в iface.c. Интересно было бы услышать мнение разработчиков.

     
  • Предлагаю вариант решения, патч во вложении. Патч "прикладывается" к версиям 5.6, 5.7. Проверял работоспособность на версии 5.6.

     
    Attachments
  • Идея хорошая. Только нужно сделать этот параметр опциональным. Кроме того, параметр SESSION_TIMEOUT может приходить как CoA запрос. Доработаю патч - напишу на форуме.

     
  • Тестируй CVS версию

     
  • 5.8a отработала неделю с установленным 'set iface enable keep-timeout', замечаний нет.

     
  • Спасибо за тестирование