Не освобождает интерфейсы[решено], pppd_compat настройки ?

IPoE related questions
Post Reply
bodigard
Posts: 24
Joined: 24 Mar 2015, 04:37

Не освобождает интерфейсы[решено], pppd_compat настройки ?

Post by bodigard »

доброго всем времени суток уважаемое сообщество, возможно проблема и не в accel-е но прошу помощи ...

accel используется как qinq + ipoe + radius и всё вроде как работает, но заметил странность, если минут через 5-10 после авторизации клиента потушить accel командой accel-cmd shutdown то поднятый quiq vlan удаляються прекрасно, а вот если поработает подольше, либо несколько раз перезапускал его, и передёргивать клиента, то когда тушишь его, интерфейсы остаются

соответственно при следующим запуске accel стушает не 1н родительский qinq vlan но и клиентские vlan-ы
выглядит это так

Code: Select all

[2015-04-01 10:55:03]:  info: cli: tcp: new connection from 127.0.0.1
[2015-04-01 10:55:03]: debug: cli: disconnect
[2015-04-01 10:55:03]:  info: terminate, sig = 15
[2015-04-01 10:55:03]:  info: ipoe: stop interface enp3s4.51
[2015-04-01 10:55:03]:  info: ipoe: stop interface enp3s4.51.1002
[2015-04-01 10:55:03]:  info: ipoe: stop interface enp3s4.51.1001
стартую accel-ppp -d -c /etc/accel-ppp.conf

Code: Select all

[2015-04-01 10:55:28]:  info: ipoe: start interface enp3s4.51 ()
[2015-04-01 10:55:28]:  info: ipoe: start interface enp3s4.51.1002 ()
[2015-04-01 10:55:28]:  info: ipoe: start interface enp3s4.51.1001 ()
в последствии если попробовать перезапустить сеть, или сервер вылазит вот такие сообщения

Code: Select all

Apr  1 07:30:14 accel-ppp kernel: unregister_netdevice: waiting for enp3s4.51.1002 to become free. Usage count = 1
дальше только идти и с кнопки перегружать сервер :(

пробовал выгружать перед этим модуль ядра (ipoe), результат тот-же

из-за этого я подозреваю не срабатывают скрипты [pppd_compat]

Code: Select all

accel-ppp version 3e886b631e0684c689b8075778be505ae9ae7629

Code: Select all

cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

Code: Select all

uname -a
Linux accel-ppp 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan 29 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
заранее благодарен за помощь !
Last edited by bodigard on 02 Apr 2015, 09:58, edited 2 times in total.
bodigard
Posts: 24
Joined: 24 Mar 2015, 04:37

Re: Ошибка waiting for XXX to become free. Usage count = 1

Post by bodigard »

походу разобрался, такая штука происходит при accel-cmd restart

ещё заметил странность

pppd_compat не реагирует на изменение настроек

Code: Select all

[pppd_compat]
ip-pre-up=/etc/ppp/if_pre_up
ip-up=/etc/ppp/if_up
ip-down=/etc/ppp/if_down
ip-change=/etc/ppp/if_change
radattr-prefix=/root/rad
verbose=5
при таком конфиге всё равно продолжают выполняться скрипты ip-up ip-down вместо моих if_up if_down, и атрибуты радиуса складываются /var/run/ вместо моих настроек ...

оно как-бы не смертельно, но неудобно ...

может подскажите что не так ?
bodigard
Posts: 24
Joined: 24 Mar 2015, 04:37

Re: Не освобождает интерфейсы[решено], pppd_compat настройки

Post by bodigard »

вопщем проблема с этими скриптами в том что они по какой-то причине намертво зашиты в коде

pppd_compat.c

Code: Select all

static char *conf_ip_up = "/etc/ppp/ip-up";
static char *conf_ip_pre_up;
static char *conf_ip_down = "/etc/ppp/ip-down";
static char *conf_ip_change;
static char *conf_radattr_prefix = "/var/run/radattr";
static int conf_verbose = 0;
и если ещё с невозможностью переименования скриптов ip-up, ip-down и местом расположения атрибутов от радиуса можно смериться, то с отсутствием ip-chenge трудно, ибо не поменять скорость по CoA, при этом в логе появляются ошибки вида pppd_compat: exec '(null)': Bad address

дописал

Code: Select all

static char *conf_ip_change = "/etc/ppp/ip-change";
и заработало

если не забуду на досуге возможно поковыряюсь почему не подхватывает параметры ...

вот такой интересный монолог вышел :)

с уважением !
Post Reply