summaryrefslogtreecommitdiff
path: root/doc/KERNEL-MODE-PPPOE (plain)
blob: 03e6d2a6eb5b864db830c4ef2e86190bcac4ec89
1# LIC: GPL
2
3RP-PPPoE now supports kernel-mode PPPoE on Linux kernels 2.4 or newer.
4However, the default "./go" build procedure does not make kernel-mode
5support.
6
7Here's what you need to do:
8
90) Make sure you are running kernel 2.4 or newer on the machine you
10will build rp-pppoe on. You must have the following kernel
11configuration settings:
12
13 CONFIG_PPP=m or CONFIG_PPP=y
14 CONFIG_PPP_ASYNC=m or CONFIG_PPP_ASYNC=y
15 CONFIG_PPP_SYNC_TTY=m or CONFIG_PPP_SYNC_TTY=y
16 CONFIG_PPP_DEFLATE=m or CONFIG_PPP_DEFLATE=y
17 CONFIG_PPP_BSDCOMP=m or CONFIG_PPP_BSDCOMP=y
18 CONFIG_PPPOE=m or CONFIG_PPPOE=y
19 CONFIG_N_HDLC=m or CONFIG_N_HDLC=y
20 CONFIG_UNIX98_PTYS=y
21
22You also need a /dev/ppp file:
23
24 mknod --mode=664 /dev/ppp c 108 0
25
26You might want to add these lines to /etc/modules.conf:
27
28 alias char-major-108 ppp_generic
29 alias tty-ldisc-3 ppp_async
30 alias tty-ldisc-13 n_hdlc
31 alias tty-ldisc-14 ppp_synctty
32 alias net-pf-24 pppoe
33
341) If you are running pppd older than 2.4.0, check out the latest
35version of the PPP software from the CVS repository at cvs.samba.org.
36Here's how to do this:
37
38 cvs -d :pserver:cvs@pserver.samba.org:/cvsroot login
39 # When prompted for a password, type "cvs"
40
41 # Change to the directory in which you want to store the PPP source
42 # code.
43 cd /path/to/checked/out/sources
44
45 # Check out the source
46 cvs -z5 -d :pserver:cvs@pserver.samba.org:/cvsroot co ppp
47
48If you are running pppd 2.4.0 or newer, and have the pppd development
49headers installed, you can skip steps 1 and 2.
50
512) The source gets checked out into a subdirectory called ppp. If
52the source ends up in /path/to/checked/out/sources/ppp, then call
53that path $PPPDIR.
54
55Build and install the checked-out ppp code according to its instructions.
56
573) Unpack rp-pppoe.
58
594) In the rp-pppoe directory, change to src/ and type:
60
61 ./configure --enable-plugin=$PPPDIR
62
63where $PPPDIR, of course, refers to the checked-out "ppp" directory
64from cvs.samba.org.
65
66If you didn't check out the PPP software from cvs.samba.org, use:
67
68 ./configure --enable-plugin
69
70This will work if the header pppd/pppd.h is located in /usr/include
71or /usr/local/include.
72
734) Type make; make install
74
755) Edit /etc/ppp/pppoe.conf to include this line:
76
77 LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
78
79After that, pppoe-start should use kernel-mode PPPoE.
80
81The rp-pppoe.so plugin adds the following command-line options to pppd:
82
83ethXXX -- Use interface ethXXX as Ethernet interface
84brXXX -- Use interface brXXX as Ethernet interface
85nic-XXXX -- Use interface XXXX as the Ethernet interface
86
87rp_pppoe_service SERVICE_NAME -- Specify desired service name
88rp_pppoe_ac NAME -- Specify desired access concentrator name
89rp_pppoe_verbose 0|1 -- Print names of access concentrators
90
91rp_pppoe_sess nnnn:aa:bb:cc:dd:ee:ff -- Attach to existing session 'nnnn'
92 on AC with Ethernet address aa:bb:cc:dd:ee:ff
93 This skips the discovery phase.
94
95
96--
97David F. Skoll <dfs@roaringpenguin.com>
98
99