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