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