Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
PPPOE-RELAY(8)		    System Manager's Manual		PPPOE-RELAY(8)

       pppoe-relay - user-space	PPPoE relay agent.

       pppoe-relay [options]

       pppoe-relay  is a user-space relay agent	for PPPoE (Point-to-Point Pro-
       tocol 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.

       -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	termi-
	      nated.   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 fre-
	      quently  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	 back-
	      ground; instead, it remains in the foreground.

       -h     The -h option prints a brief usage message and exits.

       pppoe-relay  listens  for  incoming PPPoE PADI frames on	all interfaces
       specified with -B or -C options.	 When a	PADI frame appears,  pppoe-re-
       lay  adds  a Relay-Session-ID tag and broadcasts	the PADI on all	inter-
       faces 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 con-

       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	dupli-
       cate 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 ses-
       sions.	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 ses-
       sion 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.

       pppoe-relay -C eth0 -S eth1

       The  example above relays frames	between	PPPoE clients on the eth0 net-
       work 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.

       pppoe-relay was written by Dianne Skoll <>.

       The pppoe home page is

       pppoe-start(8),	 pppoe-stop(8),	  pppoe-connect(8),    pppd(8),	   pp-
       poe.conf(5), pppoe(8), pppoe-setup(8), pppoe-status(8), pppoe-sniff(8),

4th Berkeley Distribution	26 January 2001			PPPOE-RELAY(8)


Want to link to this manual page? Use this URL:

home | help