pppoe-relay - user-space PPPoE relay agent.
SYNOPSIS
pppoe-relay [options]
DESCRIPTION
pppoe-relay is a user-space relay agent for PPPoE (Point-
to-Point Protocol over Ethernet) for Linux. pppoe-relay
works in concert with the pppoe client and pppoe-server
server. See the OPERATION section later in this manual
for details on how pppoe-relay works.
OPTIONS
-S interface
Adds the Ethernet interface interface to the list
of interfaces managed by pppoe-relay. Only PPPoE
servers may be connected to this interface.
-C interface
Adds the Ethernet interface interface to the list
of interfaces managed by pppoe-relay. Only PPPoE
clients may be connected to this interface.
-B interface
Adds the Ethernet interface interface to the list
of interfaces managed by pppoe-relay. Both PPPoE
clients and servers may be connected to this inter
face.
-n num Allows at most num concurrent PPPoE sessions. If
not specified, the default is 5000. num can range
from 1 to 65534.
-i timeout
Specifies the session idle timeout. If both peers
in a session are idle for more than timeout sec
onds, the session is terminated. If timeout is
specified as zero, sessions will never be termi
nated because of idleness.
Note that the idle-session expiry routine is never
run more frequently than every 30 seconds, so the
timeout is approximate. The default value for
timeout is 600 seconds (10 minutes.)
-F The -F option causes pppoe-relay not to fork into
ground.
-h The -h option prints a brief usage message and
exits.
OPERATION
pppoe-relay listens for incoming PPPoE PADI frames on all
interfaces specified with -B or -C options. When a PADI
frame appears, pppoe-relay adds a Relay-Session-ID tag and
broadcasts the PADI on all interfaces specified with -B or
-S options (except the interface on which the frame
arrived.)
Any PADO frames received are relayed back to the client
which sent the PADI (assuming they contain valid Relay-
Session-ID tags.) Likewise, PADR frames from clients are
relayed back to the matching access concentrator.
When a PADS frame is received, pppoe-relay enters the two
peers' MAC addresses and session-ID's into a hash table.
(The session-ID seen by the access concentrator may be
different from that seen by the client; pppoe-relay must
renumber sessions to avoid the possibility of duplicate
session-ID's.) Whenever either peer sends a session
frame, pppoe-relay looks up the session entry in the hash
table and relays the frame to the correct peer.
When a PADT frame is received, pppoe-relay relays it to
the peer and deletes the session entry from its hash
table.
If a client and server crash (or frames are lost), PADT
frames may never be sent, and pppoe-relay's hash table can
fill up with stale sessions. Therefore, a session-clean
ing routine runs periodically, and removes old sessions
from the hash table. A session is considered "old" if no
traffic has been seen within timeout seconds. When a ses
sion is deleted because of a timeout, a PADT frame is sent
to each peer to make certain that they are aware the ses
sion has been killed.
EXAMPLE INVOCATIONS
pppoe-relay -C eth0 -S eth1
The example above relays frames between PPPoE clients on
the eth0 network and PPPoE servers on the eth1 network.
pppoe-relay -B eth0 -B eth1
This example is a transparent relay -- frames are relayed
eth1 networks.
pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3
This example relays frames between servers on the eth0
network and clients on the eth1, eth2 and eth3 networks.
AUTHORS
pppoe-relay was written by David F. Skoll <dfs@roaringpen
guin.com>.
The pppoe home page is http://www.roaringpen
guin.com/pppoe/.
SEE ALSO
adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8),
pppoe.conf(5), pppoe(8), adsl-setup(8), adsl-status(8),
pppoe-sniff(8), pppoe-server(8)
Man(1) output converted with
man2html