]> git.ozlabs.org Git - ppp.git/blob - README.pppoe
pppd: Refactor setjmp/longjmp with pipe pair in event wait loop
[ppp.git] / README.pppoe
1                 PPPoE Support
2                 -------------
3
4                 Michal Ostrowski
5                 8 August 2001
6
7                 for ppp-2.4.2
8                 Updated for ppp-2.4.5 by Paul Mackerras, Sep 08
9
10 1. Introduction
11 ---------------
12
13 This document describes the support for PPP over Ethernet (PPPoE)
14 included with this package.  It is assumed that the reader is
15 familiar with Linux PPP (as it pertains to tty/modem-based
16 connections).  In particular, users of PPP in the Linux 2.2 series
17 kernels should ensure they are familiar with the changes to the PPP
18 implementation in the 2.4 series kernels before attempting to use
19 PPPoE features.
20
21 If you are not familiar with PPP, I recommend looking at other
22 packages which include end-user configuration tools, such as Roaring
23 Penguin (http://www.roaringpenguin.com/pppoe).
24
25 PPPoE is a protocol typically used by *DSL providers to manage IP
26 addresses and authenticate users.  Essentially, PPPoE provides for a
27 PPP connection to be established not over a physical serial-line or
28 modem, but over a logical connection between two unique MAC-addresses
29 on an ethernet network.  Once the PPPoE layer discovers the end-points
30 to be used in the link and negotiates it, frames may be sent to and
31 received from the PPPoE layer just as if the link was a serial line
32 (or that is how it's supposed to be).
33
34 With this in mind, the goal of the implementation of PPPoE support in
35 Linux is to allow users to simply specify that the device they intend
36 to use for the PPP connection is an ethernet device (e.g. "eth0") and
37 the rest of the system should function as usual.
38
39 2. Using PPPoE
40 --------------
41
42 This section is a quick guide for getting PPPoE working, to allow one
43 to connect to their ISP who is providing PPPoE based services.
44
45 1.  Enable "Prompt for development and/or incomplete code/drivers" and
46     "PPP over Ethernet" in your kernel configuration.  Most distributions
47     will include the kernel PPPoE module by default.
48
49 2.  Compile and install your kernel.
50
51 3.  Install the ppp package.
52
53 4.  Add the following line to /etc/ppp/options:
54
55     plugin rp-pppoe.so
56
57     The effect of this line is simply to make "eth0", "eth1",
58     ....,"ethx" all valid device names for pppd (just like ttyS0,
59     ttyS1).
60
61 5.  Add the necessary authentication options to your pppd
62     configuration (i.e. PAP/CHAP information).  If you wish to
63     maintain seperate configurations for different devices you may
64     place configuration options in device-specific configuration
65     files: /etc/ppp/options.devname (devname=ttyS0, ttyS1, eth0, eth1
66     or any other valid device name).
67
68 6.  Invoke pppd with the appropriate device name: e.g. "pppd eth0"
69
70
71 Do not include any compression or flow control options in your PPPoE
72 configuration.  They will be ignored.
73
74 Again, here it is assumed that the reader is familiar with the general
75 process of configuring PPP.  The steps outlined here refer only to the
76 steps and configuration options which are PPPoE specific, and it is
77 assumed that the reader will also configure other aspects of the system
78 (e.g. PAP authentication parameters).
79
80 3.  Advanced Functionality
81 --------------------------
82
83 For more advanced functionality (such as providing PPPoE services) and
84 user configuration tools, look to the Roaring Penguin PPPoE software
85 package (http://www.roaringpenguin.com/pppoe).
86
87 4.  Credits
88 -----------
89
90 The PPPoE plugin included in this package is a component of the
91 Roaring Penguin PPPoE package, included in this package courtesy of
92 Roaring Penguin Software. (http://www.roaringpenguin.com).
93