Provided by: pppoe_3.11-0ubuntu1_amd64 bug

NAME

       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 interface.

       -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 seconds, the session is terminated.  If timeout is specified as  zero,
              sessions will never be terminated 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 the background; instead, it
              remains in the foreground.

       -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-cleaning
       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  session  is
       deleted  because of a timeout, a PADT frame is sent to each peer to make certain that they
       are aware the session 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 between any mix of clients and
       servers on the eth0 and 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@roaringpenguin.com>.

       The pppoe home page is http://www.roaringpenguin.com/pppoe/.

SEE ALSO

       pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian.gz