mpd & pppoe
- From
- Alex Bakhtin (2:5020/400)
- To
- All (2:5054/37.63)
- Date
- 2006-12-09T13:50:52Z
- Area
- RU.UNIX.BSD
From: Alex Bakhtin <bakhtin@amt.ru>
Привет.
Продолжаем хождение по граблям. Пытаюсь запустить mpd в качестве
pppoe клиента. Настроил, все работает. Но после перезагрузки mpd не хочет
поднимать pppoe до тех пор, пока не запустить разок это же соединение через
ppp. Говорит:
=================
[stream] device: OPEN event in state DOWN
[stream] can't connect bypass,link0 and ste3:orphans,mpd2066-stream: No
such file or directory
[stream] can't remove hook mpd2066-stream from node "ste3:orphans": No such
file or directory
[stream] device is now in state OPENING
=================
Собственно, ngctl в это время ничего на ste3 не показывает:
==================
There are 14 total nodes:
Name: <unnamed> Type: socket ID: 0000000f Num hooks: 0
Name: <unnamed> Type: vjc ID: 0000000e Num hooks: 4
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
vjip mpd2066-stream ppp 0000000c vjc_vjip
vjuncomp mpd2066-stream ppp 0000000c vjc_vjuncomp
vjcomp mpd2066-stream ppp 0000000c vjc_vjcomp
ip mpd2066-stream ppp 0000000c vjc_ip
Name: <unnamed> Type: bpf ID: 0000000d Num hooks: 3
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
mpd <unnamed> socket 00000009 demand
iface ng1 iface 0000000b inet
ppp mpd2066-stream ppp 0000000c inet
Name: mpd2066-stream Type: ppp ID: 0000000c Num hooks: 6
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
vjc_vjip <unnamed> vjc 0000000e vjip
vjc_vjuncomp <unnamed> vjc 0000000e vjuncomp
vjc_vjcomp <unnamed> vjc 0000000e vjcomp
vjc_ip <unnamed> vjc 0000000e ip
inet <unnamed> bpf 0000000d ppp
bypass <unnamed> socket 00000009 bypass
Name: ng1 Type: iface ID: 0000000b Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
inet <unnamed> bpf 0000000d iface
Name: ng0 Type: iface ID: 0000000a Num hooks: 0
Name: <unnamed> Type: socket ID: 00000009 Num hooks: 2
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
demand <unnamed> bpf 0000000d mpd
bypass mpd2066-stream ppp 0000000c bypass
Name: ngctl2055 Type: socket ID: 00000008 Num hooks: 0
Name: fxp0 Type: ether ID: 00000006 Num hooks: 0
Name: xl0 Type: ether ID: 00000005 Num hooks: 0
Name: ste3 Type: ether ID: 00000004 Num hooks: 0
Name: ste2 Type: ether ID: 00000003 Num hooks: 0
Name: ste1 Type: ether ID: 00000002 Num hooks: 0
Name: ste0 Type: ether ID: 00000001 Num hooks: 0
==================
После запуска ppp (он соединяется успешно) картинка кардинально меняется:
=================
+ list -l
There are 10 total nodes:
Name: <unnamed> Type: pppoe ID: 00000011 Num hooks: 2
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
tun0 <unnamed> socket 00000010 tun0
ethernet ste3 ether 00000004 orphans
Name: <unnamed> Type: socket ID: 00000010 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
tun0 <unnamed> pppoe 00000011 tun0
Name: ng0 Type: iface ID: 0000000a Num hooks: 0
Name: ngctl2055 Type: socket ID: 00000008 Num hooks: 0
Name: fxp0 Type: ether ID: 00000006 Num hooks: 0
Name: xl0 Type: ether ID: 00000005 Num hooks: 0
Name: ste3 Type: ether ID: 00000004 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
orphans <unnamed> pppoe 00000011 ethernet
Name: ste2 Type: ether ID: 00000003 Num hooks: 0
Name: ste1 Type: ether ID: 00000002 Num hooks: 0
Name: ste0 Type: ether ID: 00000001 Num hooks: 0
=================
Видно, что ppp создал требуемый orphans на ste3, после выхода из
ppp этот хук не пропадает:
=================
There are 9 total nodes:
Name: <unnamed> Type: pppoe ID: 00000011 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
ethernet ste3 ether 00000004 orphans
Name: ng0 Type: iface ID: 0000000a Num hooks: 0
Name: ngctl2055 Type: socket ID: 00000008 Num hooks: 0
Name: fxp0 Type: ether ID: 00000006 Num hooks: 0
Name: xl0 Type: ether ID: 00000005 Num hooks: 0
Name: ste3 Type: ether ID: 00000004 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
orphans <unnamed> pppoe 00000011 ethernet
Name: ste2 Type: ether ID: 00000003 Num hooks: 0
Name: ste1 Type: ether ID: 00000002 Num hooks: 0
Name: ste0 Type: ether ID: 00000001 Num hooks: 0
=================
И дальше mpd корректно работает через него:
=================
+ list -l
There are 15 total nodes:
Name: <unnamed> Type: socket ID: 00000017 Num hooks: 0
Name: <unnamed> Type: vjc ID: 00000016 Num hooks: 4
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
vjip mpd2304-stream ppp 00000014 vjc_vjip
vjuncomp mpd2304-stream ppp 00000014 vjc_vjuncomp
vjcomp mpd2304-stream ppp 00000014 vjc_vjcomp
ip mpd2304-stream ppp 00000014 vjc_ip
Name: <unnamed> Type: bpf ID: 00000015 Num hooks: 3
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
mpd <unnamed> socket 00000012 demand
iface ng1 iface 00000013 inet
ppp mpd2304-stream ppp 00000014 inet
Name: mpd2304-stream Type: ppp ID: 00000014 Num hooks: 7
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
link0 <unnamed> pppoe 00000011
mpd2304-stream
vjc_vjip <unnamed> vjc 00000016 vjip
vjc_vjuncomp <unnamed> vjc 00000016 vjuncomp
vjc_vjcomp <unnamed> vjc 00000016 vjcomp
vjc_ip <unnamed> vjc 00000016 ip
inet <unnamed> bpf 00000015 ppp
bypass <unnamed> socket 00000012 bypass
Name: ng1 Type: iface ID: 00000013 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
inet <unnamed> bpf 00000015 iface
Name: <unnamed> Type: socket ID: 00000012 Num hooks: 2
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
demand <unnamed> bpf 00000015 mpd
bypass mpd2304-stream ppp 00000014 bypass
Name: <unnamed> Type: pppoe ID: 00000011 Num hooks: 2
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
mpd2304-stream mpd2304-stream ppp 00000014 link0
ethernet ste3 ether 00000004 orphans
Name: ng0 Type: iface ID: 0000000a Num hooks: 0
Name: ngctl2055 Type: socket ID: 00000008 Num hooks: 0
Name: fxp0 Type: ether ID: 00000006 Num hooks: 0
Name: xl0 Type: ether ID: 00000005 Num hooks: 0
Name: ste3 Type: ether ID: 00000004 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
orphans <unnamed> pppoe 00000011 ethernet
Name: ste2 Type: ether ID: 00000003 Num hooks: 0
Name: ste1 Type: ether ID: 00000002 Num hooks: 0
Name: ste0 Type: ether ID: 00000001 Num hooks: 0
+
=================
Такой расклад мне крайне не нравится, как бы научить mpd создавать
этот orphans самостоятельно?
--
Best regards, Alex Bakhtin, CCIE #8439
AMT Group, Cisco Systems Gold Partner, http://www.amt.ru
--- ifmail v.2.15dev5.3
* Origin: AMT Group (2:5020/400)
SEEN-BY: 50/12 400/814 450/159 1024 461/43 132 640 469/999 4616/3 4625/8
SEEN-BY: 4641/444 5000/76 5000 5006/1 5007/1 5010/70 5011/13 5012/46 5015/28
SEEN-BY: 5019/26 5020/18 175 194 400 545 982 1057 1909 1922 2238 2395 2871
SEEN-BY: 5020/4441 5021/29 5025/3 5026/14 45 5027/12 5030/1080 1957 5034/10 13
SEEN-BY: 5035/3 38 5036/1 5045/7 5049/1 5051/15 5054/1 4 8 9 11 28 35 36 37 45
SEEN-BY: 5054/66 67 70 75 84 85 5059/9 5060/88 5061/15 5062/10 5063/3 5064/7
SEEN-BY: 5066/18 5075/5 5076/1 5077/70 5080/1003 5084/9 5085/13 5095/20
SEEN-BY: 5096/18 6001/10
PATH: 5020/400 545 5054/1 37