Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Jun 2003 18:31:13 +0930
From:      "Rob" <listone@deathbeforedecaf.net>
To:        "Rob" <listone@deathbeforedecaf.net>
Cc:        freebsd-questions <freebsd-questions@freebsd.org>
Subject:   Re: ADSL: Using mpd(8) for PPPoE [solved?]
Message-ID:  <002201c32e65$ae4be590$a4b826cb@goo>
References:  <005d01c32e47$dc282500$a4b826cb@goo>

next in thread | previous in thread | raw e-mail | index | archive | help
I just found a posting[1] from Archie Cobbs to freebsd-net@ where he
suggested loading the ng_ether module before running mpd(8). "That's
silly", thought I, "there's already a bunch of modules loaded
automatically".

And indeed, after an unsuccessful attempt, kldstat(8) shows the
following:

  Id Refs Address    Size     Name
   1   10 0xc0100000 1fd990   kernel
   2    1 0xc02fe000 5448     vesa.ko
   3    1 0xc129e000 6000     procfs.ko
   4    1 0xc130c000 2000     green_saver.ko
   5    1 0xc1323000 3000     ng_socket.ko
   6    5 0xc172c000 9000     netgraph.ko
   7    1 0xc132f000 3000     ng_iface.ko
   8    1 0xc1338000 6000     ng_ppp.ko
   9    1 0xc1343000 4000     ng_bpf.ko
  10    1 0xc134e000 4000     ng_vjc.ko

But no ng_ether. So I loaded it with kldload(8) and tried again. And
what do you know - it worked!

Here's the successful output (innocent names & addresses concealed):

  Multi-link PPP for FreeBSD, by Archie L. Cobbs.
  Based on iij-ppp, by Toshiharu OHNO.
  mpd: pid 194, version 3.13 (root@freebsd.org 16:04 22-Mar-2003)
  [PPPoE] ppp node is "mpd194-PPPoE"
  [PPPoE] using interface ng0
  [PPPoE] IPCP: peer address cannot be zero
  [PPPoE] IFACE: Open event
  [PPPoE] IPCP: Open event
  [PPPoE] IPCP: state change Initial --> Starting
  [PPPoE] IPCP: LayerStart
  [PPPoE:PPPoE] [PPPoE] bundle: OPEN event in state CLOSED
  [PPPoE] opening link "PPPoE"...
  [PPPoE] link: OPEN event
  [PPPoE] LCP: Open event
  [PPPoE] LCP: state change Initial --> Starting
  [PPPoE] LCP: LayerStart
  [PPPoE] device: OPEN event in state DOWN
  [PPPoE] exec: /sbin/ifconfig rl0 up
  [PPPoE] device is now in state OPENING
  [PPPoE] rec'd ACNAME "xxxx-xxxxxxxx"
  [PPPoE] rec'd command 11 from "[10]:"
  [PPPoE] connection successful
  [PPPoE] device: UP event in state OPENING
  [PPPoE] device is now in state UP
  [PPPoE] link: UP event
  [PPPoE] link: origination is local
  [PPPoE] LCP: Up event
  [PPPoE] LCP: state change Starting --> Req-Sent
  [PPPoE] LCP: phase shift DEAD --> ESTABLISH
  [PPPoE] LCP: SendConfigReq #1
   MRU 1492
   MAGICNUM 58783cb0
   MP MRRU 1600
   MP SHORTSEQ
   ENDPOINTDISC [802.1] 00 c1 28 00 e6 0b
  [PPPoE] LCP: rec'd Configure Request #55 link 0 (Req-Sent)
   MAGICNUM 27addd92
   MRU 1500
   AUTHPROTO CHAP MD5
  [PPPoE] LCP: SendConfigAck #55
   MAGICNUM 27addd92
   MRU 1500
   AUTHPROTO CHAP MD5
  [PPPoE] LCP: state change Req-Sent --> Ack-Sent
  [PPPoE] LCP: rec'd Configure Reject #1 link 0 (Ack-Sent)
   MP MRRU 1600
   ENDPOINTDISC [802.1] 00 c1 28 00 e6 0b
  [PPPoE] LCP: SendConfigReq #2
   MRU 1492
   MAGICNUM 58783cb0
  [PPPoE] LCP: rec'd Configure Ack #2 link 0 (Ack-Sent)
   MRU 1492
   MAGICNUM 58783cb0
  [PPPoE] LCP: state change Ack-Sent --> Opened
  [PPPoE] LCP: phase shift ESTABLISH --> AUTHENTICATE
  [PPPoE] LCP: auth: peer wants CHAP, I want nothing
  [PPPoE] LCP: LayerUp
  [PPPoE] CHAP: rec'd CHALLENGE #1
   Name: "xxxx-xxxxxxxx"
   Using authname "xxxxxxx@xxxxxxxxxxxxxxxxxx"
  [PPPoE] CHAP: sending RESPONSE
  [PPPoE] CHAP: rec'd SUCCESS #1
  [PPPoE] LCP: authorization successful
  [PPPoE] LCP: phase shift AUTHENTICATE --> NETWORK
  [PPPoE] setting interface ng0 MTU to 1460 bytes
  [PPPoE] up: 1 link, total bandwidth 64000 bps
  [PPPoE] IPCP: Up event
  [PPPoE] IPCP: state change Starting --> Req-Sent
  [PPPoE] IPCP: SendConfigReq #1
   IPADDR 0.0.0.0
   COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
  [PPPoE] IPCP: rec'd Configure Request #1 link 0 (Req-Sent)
   IPADDR 12.34.56.1
     12.34.56.1 is OK
  [PPPoE] IPCP: SendConfigAck #1
   IPADDR 12.34.56.1
  [PPPoE] IPCP: state change Req-Sent --> Ack-Sent
  [PPPoE] IPCP: rec'd Configure Reject #1 link 0 (Ack-Sent)
   COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
  [PPPoE] IPCP: SendConfigReq #2
   IPADDR 0.0.0.0
  [PPPoE] IPCP: rec'd Configure Nak #2 link 0 (Ack-Sent)
   IPADDR 12.34.56.229
     12.34.56.229 is OK
  [PPPoE] IPCP: SendConfigReq #3
   IPADDR 12.34.56.229
  [PPPoE] IPCP: rec'd Configure Ack #3 link 0 (Ack-Sent)
   IPADDR 12.34.56.229
  [PPPoE] IPCP: state change Ack-Sent --> Opened
  [PPPoE] IPCP: LayerUp
    12.34.56.229 -> 12.34.56.1
  [PPPoE] IFACE: Up event
  [PPPoE] setting interface ng0 MTU to 1460 bytes
  [PPPoE] exec: /sbin/ifconfig ng0 12.34.56.229 12.34.56.1 netmask 0xffffffff -link0
  [PPPoE] exec: /sbin/route add 12.34.56.229 -iface lo0
  [PPPoE] exec: /sbin/route add 0.0.0.0 12.34.56.1
  [PPPoE] IFACE: Up event
  quit
  [PPPoE] IPCP: Down event
  [PPPoE] IPCP: state change Opened --> Starting
  [PPPoE] IPCP: LayerDown
  [PPPoE] IFACE: Down event
  [PPPoE] exec: /sbin/route delete 0.0.0.0 12.34.56.1
  [PPPoE] exec: /sbin/route delete 12.34.56.229 -iface lo0
  [PPPoE] exec: /sbin/ifconfig ng0 down delete -link0
  [PPPoE] IFACE: Close event
  [PPPoE] IPCP: Close event
  [PPPoE] IPCP: state change Starting --> Initial
  [PPPoE] IPCP: LayerFinish
  mpd: process 194 terminated

And ifconfig(8) listing (likewise):

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
        ether 00:c1:28:00:e6:0b
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1460
        inet 12.34.56.229 --> 12.34.56.1 netmask 0xffffffff

I'm still puzzled as to how it uses the 'real' network interface, which
isn't even configured. And why does it load 6 ng modules, but not the
last one?

Anyway, I won't know if it really works until my provider starts routing
packets in this direction, but it certainly looks hopeful.

Thanks
Rob.

[1] http://www.freebsd.org/cgi/getmsg.cgi?fetch=302935+305775+/usr/local/www/db/text/2001/freebsd-net/20010318.freebsd-net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?002201c32e65$ae4be590$a4b826cb>