nvram defaults now country=SG, txpwr=auto
[tomato.git] / release / src / router / rp-pppoe / man / pppoe-relay.8
blob9e52a3051b1908b72e26282551b70061fe997f38
1 .\" LIC: GPL
2 .TH PPPOE-RELAY 8 "26 January 2001"
3 .\""
4 .UC 4
5 .SH NAME
6 pppoe-relay \- user-space PPPoE relay agent.
7 .SH SYNOPSIS
8 .B pppoe-relay \fR[\fIoptions\fR]
10 .SH DESCRIPTION
11 \fBpppoe-relay\fR is a user-space relay agent for PPPoE
12 (Point-to-Point Protocol over Ethernet) for Linux.  \fBpppoe-relay\fR
13 works in concert with the \fBpppoe\fR client and \fBpppoe-server\fR
14 server.  See the OPERATION section later in this manual for
15 details on how \fBpppoe-relay\fR works.
17 .SH OPTIONS
18 .TP
19 .B \-S \fIinterface\fR
20 Adds the Ethernet interface \fIinterface\fR to the list of interfaces
21 managed by \fBpppoe-relay\fR.  Only PPPoE servers may be connected to
22 this interface.
24 .TP
25 .B \-C \fIinterface\fR
26 Adds the Ethernet interface \fIinterface\fR to the list of interfaces
27 managed by \fBpppoe-relay\fR.  Only PPPoE clients may be connected to
28 this interface.
30 .TP
31 .B \-B \fIinterface\fR
32 Adds the Ethernet interface \fIinterface\fR to the list of interfaces
33 managed by \fBpppoe-relay\fR.  Both PPPoE clients and servers may be
34 connected to this interface.
36 .TP
37 .B \-n \fInum\fR
38 Allows at most \fInum\fR concurrent PPPoE sessions.  If not specified,
39 the default is 5000.  \fInum\fR can range from 1 to 65534.
41 .TP
42 .B \-i \fItimeout\fR
43 Specifies the session idle timeout.  If both peers in a session are idle
44 for more than \fItimeout\fR seconds, the session is terminated.
45 If \fItimeout\fR is specified as zero, sessions will never be terminated
46 because of idleness.
48 Note that the idle-session expiry routine is never run more frequently than
49 every 30 seconds, so the timeout is approximate.  The default value for
50 \fItimeout\fR is 600 seconds (10 minutes.)
52 .TP
53 .B \-F
54 The \fB\-F\fR option causes \fBpppoe-relay\fR \fInot\fR to fork into the
55 background; instead, it remains in the foreground.
57 .TP
58 .B \-h
59 The \fB\-h\fR option prints a brief usage message and exits.
61 .SH OPERATION
63 \fBpppoe-relay\fR listens for incoming PPPoE PADI frames on all interfaces
64 specified with \fB-B\fR or \fB-C\fR options.  When a PADI frame appears,
65 \fBpppoe-relay\fR adds a Relay-Session-ID tag and broadcasts the PADI
66 on all interfaces specified with \fB-B\fR or \fB-S\fR options (except the
67 interface on which the frame arrived.)
69 Any PADO frames received are relayed back to the client which sent the
70 PADI (assuming they contain valid Relay-Session-ID tags.)  Likewise,
71 PADR frames from clients are relayed back to the matching access
72 concentrator.
74 When a PADS frame is received, \fBpppoe-relay\fR enters the two peers'
75 MAC addresses and session-ID's into a hash table.  (The session-ID seen
76 by the access concentrator may be different from that seen by the client;
77 \fBpppoe-relay\fR must renumber sessions to avoid the possibility of duplicate
78 session-ID's.)  Whenever either peer sends a session frame, \fBpppoe-relay\fR
79 looks up the session entry in the hash table and relays the frame to
80 the correct peer.
82 When a PADT frame is received, \fBpppoe-relay\fR relays it to the peer
83 and deletes the session entry from its hash table.
85 If a client and server crash (or frames are lost), PADT frames may never
86 be sent, and \fBpppoe-relay\fR's hash table can fill up with stale sessions.
87 Therefore, a session-cleaning routine runs periodically, and removes old
88 sessions from the hash table.  A session is considered "old" if no traffic
89 has been seen within \fItimeout\fR seconds.  When a session is deleted because
90 of a timeout, a PADT frame is sent to each peer to make certain that they
91 are aware the session has been killed.
93 .SH EXAMPLE INVOCATIONS
95 .nf
96 pppoe-relay -C eth0 -S eth1
97 .fi
99 The example above relays frames between PPPoE clients on the eth0 network
100 and PPPoE servers on the eth1 network.
103 pppoe-relay -B eth0 -B eth1
106 This example is a transparent relay -- frames are relayed between any mix
107 of clients and servers on the eth0 and eth1 networks.
110 pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3
113 This example relays frames between servers on the eth0 network and
114 clients on the eth1, eth2 and eth3 networks.
116 .SH AUTHORS
117 \fBpppoe-relay\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
119 The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
121 .SH SEE ALSO
122 pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8), pppoe.conf(5),
123 pppoe(8), pppoe-setup(8), pppoe-status(8), pppoe-sniff(8), pppoe-server(8)