Bug 23916

Summary: PPPPERSIST и PPPMAXFAIL остались в примерах
Product: Sisyphus Reporter: Sergey Y. Afonin <asy>
Component: etcnetAssignee: Mikhail Efremov <sem>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: ldv, rider, sem, shaba, stalker, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   

Description Sergey Y. Afonin 2010-08-20 10:10:49 MSD
Что-то сдаётся мне, что бага попалась в etcnet... А, может, это фича,
а бага тогда в модуле альтератора. Но в etcnet надо тогда примеры
править...

pppoe[6510]: Session 33276 terminated -- received PADT from peer
pppoe[6510]: Sent PADT
pppd[6595]: Modem hangup
pppd[6595]: Connect time 4565.0 minutes.
pppd[6595]: Sent 1848691713 bytes, received 978647499 bytes.
pppd[6595]: Connection terminated.
pppd[6595]: Script /etc/ppp/ip-down finished (pid 5810), status = 0x1
pppd[6595]: Exit.

И канал упал с концами.

# cat ppp1/options
TYPE=ppp
ONBOOT=no
PPPTYPE=pppoe
PPPPERSIST=on
PPPMAXFAIL=0
HOST=eth1

# cat ppp1/pppoptions
defaultroute
mtu 1476
usepeerdns
user xxxxxx
password yyyyyy
nomppe

# ps awwx|grep ppp
 6383 ?        S      0:04 /usr/sbin/pppoe -I eth1 -U
 6408 ?        Ss     0:00 /usr/sbin/pppd nolog updetach unit 1 local pty /usr/sbin/pppoe -I eth1 -U  file /etc/net/ifaces/ppp1/pppoptions

Не видать, чтобы "PPPPERSIST=on" в "options" как-то как-то влиял на вызов
pppd... Равно как и PPPMAXFAIL=0. Это, как минимум, присутствует в примерах.
Но, в принципе, можно это и в pppoptions писать...
Comment 1 Denis Ovsienko 2010-08-20 13:06:31 MSD
0.8.0 2005-12-29
[...]
         change: PPPMAXFAIL, PPPPERSIST, PPPHOLDOFF, PPPIDLE options were dropped, use pppoptions file instead
Comment 2 Anton Farygin 2010-08-20 13:18:18 MSD
Но даже эта опция вам не поможет, и будет сильно глючить - у etcnet нет своего менеджера соединений ppp, а тот, который в самом pppd таков, что лучше бы его там не было.

Поэтому, у всех кто знает - из крона давно уже запускается такой вот маленький скрипт:
#!/bin/sh
[ -f /var/run/ppp0.pid ] || /sbin/ifdown ppp0;/sbin/ifup ppp0

Было бы очень здорово, если бы etcnet взял на себя право отслеживания состояния ppp соединения и запуска pppd, если это необходимо.
Comment 3 Sergey Y. Afonin 2010-08-20 13:20:41 MSD
(In reply to comment #1)

> 0.8.0 2005-12-29
> [...]
>          change: PPPMAXFAIL, PPPPERSIST, PPPHOLDOFF, PPPIDLE options were
> dropped, use pppoptions file instead

Хорошо, я переименовал тему бага. :-)
Comment 4 Sergey Y. Afonin 2010-08-20 13:24:32 MSD
(In reply to comment #2)

> а тот, который в самом pppd таков, что лучше бы его там не было.

Помнится, когда-то давно был не особенно плох...

> Поэтому, у всех кто знает - из крона давно уже запускается такой вот маленький
> скрипт:
> #!/bin/sh
> [ -f /var/run/ppp0.pid ] || /sbin/ifdown ppp0;/sbin/ifup ppp0

Я запомню на случай, если проблема сохранится, спасибо.
Comment 5 Anton Farygin 2010-08-20 14:40:23 MSD
У persist есть проблема - в случае, если ppp соединение не доступно при загрузке, то etcnet будет висеть до тех пор, пока оно не появится.
Comment 6 Sergey Bolshakov 2010-08-20 15:09:24 MSD
см. тж. #7519
Comment 7 Anton Farygin 2010-08-20 15:16:22 MSD
В тему и той и этой ошибки - я бы предложил сделать небольшую обвязку над pppd, которая бы запускала его в фоне и контролировала поведение.
Comment 8 Sergey Y. Afonin 2010-08-20 16:34:21 MSD
(In reply to comment #5)

> У persist есть проблема - в случае, если ppp соединение не доступно при
> загрузке, то etcnet будет висеть до тех пор, пока оно не появится.

Это не проблема, это фича. Если обратить внимание на "ppp1/options" из первого сообщения, можно заметить "ONBOOT=no". ;-)
"ifup ppp1 &" происходит несколько позже.