mpd 4.1 on 5.5-STABLE

Ian Smith smithi at nimnet.asn.au
Sat Mar 3 16:53:23 UTC 2007


I'm having trouble getting mpd 4.1 going, and am a netgraph noobie.

FreeBSD paqi.nimnet.asn.au 5.5-STABLE FreeBSD 5.5-STABLE #0: Sat Mar  3
03:14:13 EST 2007 root at paqi.nimnet.asn.au:/usr/obj/usr/src/sys/PAQI5S_3  i386

paqi# mpd4 -v
Version 4.1 (root at paqi.nimnet.asn.au 20:51  3-Mar-2007)

/etc/rc.conf (updated since rebooting after installworld) has:
mpd_enable="YES"
mpd_flags="-b"

When started the first time, before there's any ng0 interface, mpd logs
the following two lines then immediately exits without further ado:

paqi# /usr/local/etc/rc.d/mpd4.sh start
Starting mpd4.

/var/log/mpd.log:
[.. previous attempts with mpd4.1-rc2 on a 5.5-STABLE from December,
    with exactly the same set of symptoms as now
..]
Mar  3 23:25:18 paqi mpd: process 36762 started, version 4.1 (root at paqi.nimnet.asn.au 20:51  3-Mar-2007)
Mar  3 23:25:18 paqi mpd: CONSOLE: listening on 127.0.0.1 5005

paqi# ps aux | grep "[m]pd"
paqi# sockstat | grep mpd

Having been exactly here before with rc2, I see ng0 has been created:

paqi# ifconfig
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
dc0: flags=108843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.7.1 netmask 0xffffff00 broadcast 192.168.7.255
        ether 00:14:6c:8e:ef:37
        media: Ethernet 100baseTX <full-duplex>
        status: active
xe0: flags=108843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:80:c7:ea:cb:c5
        media: Ethernet 10baseT/UTP
        status: active
ng0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500

and know that it'll refer to the now-dead PID 36762 from above:

paqi# ngctl list
There are 5 total nodes:
  Name: ngctl36785      Type: socket          ID: 00000006   Num hooks: 0
  Name: mpd36762-PPPoE-bpf Type: bpf             ID: 00000005   Num hooks: 2
  Name: mpd36762-PPPoE-vjc Type: vjc             ID: 00000004   Num hooks: 4
  Name: mpd36762-PPPoE  Type: ppp             ID: 00000003   Num hooks: 6
  Name: ng0             Type: iface           ID: 00000002   Num hooks: 2

paqi# ngctl list -l
There are 5 total nodes:
  Name: ngctl36786      Type: socket          ID: 00000007   Num hooks: 0
  Name: mpd36762-PPPoE-bpf Type: bpf             ID: 00000005   Num hooks: 2
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  iface           ng0             iface        00000002        inet
  ppp             mpd36762-PPPoE  ppp          00000003        inet
  Name: mpd36762-PPPoE-vjc Type: vjc             ID: 00000004   Num hooks: 4
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  vjip            mpd36762-PPPoE  ppp          00000003        vjc_vjip
  vjuncomp        mpd36762-PPPoE  ppp          00000003        vjc_vjuncomp
  vjcomp          mpd36762-PPPoE  ppp          00000003        vjc_vjcomp
  ip              mpd36762-PPPoE  ppp          00000003        vjc_ip
  Name: mpd36762-PPPoE  Type: ppp             ID: 00000003   Num hooks: 6
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  ipv6            ng0             iface        00000002        inet6
  inet            mpd36762-PPPoE-bpf bpf          00000005        ppp
  vjc_vjip        mpd36762-PPPoE-vjc vjc          00000004        vjip
  vjc_vjuncomp    mpd36762-PPPoE-vjc vjc          00000004        vjuncomp
  vjc_vjcomp      mpd36762-PPPoE-vjc vjc          00000004        vjcomp
  vjc_ip          mpd36762-PPPoE-vjc vjc          00000004        ip
  Name: ng0             Type: iface           ID: 00000002   Num hooks: 2
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  inet6           mpd36762-PPPoE  ppp          00000003        ipv6
  inet            mpd36762-PPPoE-bpf bpf          00000005        iface

'ifconfig ng0 destroy' won't.  So then, now mpd will start, uselessly: 

paqi# /usr/local/etc/rc.d/mpd4.sh start
Starting mpd4.
paqi# ps auxww | grep "[m]pd"
root   36794  0.0  1.5  4040  2268  ??  Is   11:31PM   0:00.02 /usr/local/sbin/mpd4 -p /var/run/mpd4.pid -b
paqi# cat /var/run/mpd4.pid
36794
paqi# sockstat | grep mpd
root     mpd4       36794 3  dgram  -> /var/run/logpriv
root     mpd4       36794 10 tcp4   127.0.0.1:5005        *:*

Now I can telnet in ok, but it's 'no bundles defined' all the way.  I
can exit, or quit which stops mpd ok (but leaves ng0 as is), but this
time my poking around also found that 'show iface' murdered it:

Mar  3 23:31:44 paqi mpd: process 36794 started, version 4.1 (root at paqi.nimnet.asn.au 20:51  3-Mar-2007)
Mar  3 23:31:44 paqi mpd: CONSOLE: listening on 127.0.0.1 5005
Mar  3 23:31:44 paqi mpd: [PPPoE] can't connect "bypass.inet"->"iface" and "ng0:"->"inet": File exists
Mar  3 23:31:44 paqi mpd: [PPPoE] netgraph initialization failed
Mar  3 23:31:44 paqi mpd: no bundles defined

[obviously the problem, but why?]

Mar  4 01:34:22 paqi mpd: last message repeated 14 times  (14 more conf lines)
Mar  4 01:34:22 paqi mpd: CONSOLE: Connect
Mar  4 01:34:22 paqi mpd: CONSOLE: Allocated new console session 0x80d501c from 127.0.0.1
Mar  4 01:34:33 paqi mpd: [(null)] CONSOLE: smithi: log
Mar  4 01:35:40 paqi mpd: [(null)] CONSOLE: smithi: log -ipv6cp
Mar  4 01:35:45 paqi mpd: [(null)] CONSOLE: smithi: log
Mar  4 01:35:54 paqi mpd: [(null)] CONSOLE: smithi: load PPPoE
Mar  4 01:35:54 paqi mpd: [PPPoE] can't connect "bypass.inet"->"iface" and "ng0:"->"inet": File exists
Mar  4 01:35:54 paqi mpd: [PPPoE] netgraph initialization failed
Mar  4 01:35:54 paqi mpd: no bundles defined
Mar  4 01:36:24 paqi mpd: last message repeated 14 times
Mar  4 01:36:24 paqi mpd: [(null)] CONSOLE: smithi: sho
Mar  4 01:36:40 paqi mpd: [(null)] CONSOLE: smithi: sho ipv6cp
Mar  4 01:36:40 paqi mpd: no bundles defined
Mar  4 01:36:49 paqi mpd: [(null)] CONSOLE: smithi: sho auth
Mar  4 01:36:49 paqi mpd: no bundles defined
Mar  4 01:36:57 paqi mpd: [(null)] CONSOLE: smithi: sho types
Mar  4 01:37:18 paqi mpd: [(null)] CONSOLE: smithi: sho iface
Mar  4 01:37:19 paqi mpd: caught fatal signal segv
Mar  4 01:37:19 paqi mpd: fatal error, exiting
Mar  4 01:37:19 paqi mpd: process 36794 terminated

(no core)

paqi# ngctl list
There are 5 total nodes:
  Name: ngctl37232      Type: socket          ID: 00000012   Num hooks: 0
  Name: mpd36762-PPPoE-bpf Type: bpf             ID: 00000005   Num hooks: 2
  Name: mpd36762-PPPoE-vjc Type: vjc             ID: 00000004   Num hooks: 4
  Name: mpd36762-PPPoE  Type: ppp             ID: 00000003   Num hooks: 6
  Name: ng0             Type: iface           ID: 00000002   Num hooks: 2

mpd.conf less comments (yes, with no empty lines between)

startup:
        set console port 5005
        set console ip 127.0.0.1
        set console user smithi xxxxx
        set console user root xxxxxxx
        set console open

default:
        load PPPoE

PPPoE:
        new -i ng0 PPPoE PPPoE
        set iface addrs 1.1.1.1 2.2.2.2
        set iface route default
        set iface disable on-demand
        set iface idle 0
        set bundle disable multilink
        set auth authname "number at provider"
        set auth password "yeahsure"
        set link no acfcomp protocomp
        set link disable pap chap
        set link accept chap
        set link mtu 1492
        set link keep-alive 10 60
        set ipcp yes vjcomp
        set ipcp ranges w.x.y.z/0 w.x.0.0/16
        open

mpd.links likewise:
PPPoE:
        set link type pppoe
        set pppoe iface xe0
        set pppoe service ""
        set pppoe disable incoming
        set pppoe enable originate

NETGRAPH is in kernel, modules are loaded:

paqi# kldstat -v | egrep "net|ng_"
                161 netgraph
                163 dummynet
 4    1 0xc227a000 4000     ng_socket.ko
                239 ng_socket
 5    1 0xc227e000 3000     ng_iface.ko
                240 ng_iface
 6    1 0xc2281000 6000     ng_ppp.ko
                241 ng_ppp
 7    1 0xc2287000 4000     ng_vjc.ko
                242 ng_vjc
 8    1 0xc2296000 4000     ng_bpf.ko
                243 ng_bpf

Hmmm, I'm sure I saw ng_pppoe.ko was there too on my attempts with rc2
before, though they had also all come up with exactly the same error:

mpd: [PPPoE] can't connect "bypass.inet"->"iface" and "ng0:"->"inet": File exists
mpd: [PPPoE] netgraph initialization failed

One thing makes me a bit nervous: those ipv6 and inet6 hooks.  kernel is
compiled without INET6, new kernel/world built with make.conf having: 
NOINET6=true	# do not build IPv6 related programs and libraries
WITHOUT_IPV6=true

Hope that's enough but not too much info.

Cheers, Ian



More information about the freebsd-net mailing list