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

FreeBSD Manual Pages


home | help
PPPOED(8)		  BSD System Manager's Manual		     PPPOED(8)

     pppoed -- handle incoming PPP over	Ethernet connections

     pppoed [-Fd] [-P pidfile] [-a name] [-e exec | -l label] [-n ngdebug]
	    [-p	provider] interface

     The pppoed	utility	listens	to the given interface for PPP over Ethernet
     (PPPoE) service request packets, and actions them by negotiating a	ses-
     sion then invoking	a ppp(8) program.  The negotiation is implemented by
     the "pppoe" netgraph node.	 See ng_pppoe(4) for details.

     The pppoed	utility	will only offer	services to clients requesting ser-
     vices from	the given provider, which is taken as an empty name if not
     provided.	If a provider name of "*" is given, any	PPPoE requests will be
     offered service.

     The supplied name will be given as	the access concentrator	name when es-
     tablishing	the connection.	 If no name is given, the current base host-
     name is used.

     After receiving a request (PADI) from the PPPoE netgraph node, pppoed
     fork(2)s a	child process and returns to service further requests.	The
     child process offers service (using name) and waits for a SUCCESS indica-
     tion from the PPPoE node.	On receipt of the SUCCESS indication, pppoed
     will execute

	   exec	/usr/sbin/ppp -direct label

     as	a shell	sub-process.  If label has not been specified, it defaults to
     provider.	It is possible to specify another command using	the exec argu-
     ment.  This is mandatory if provider and label are	not given.  The	child
     process will have standard	input and standard output attached to the same
     netgraph(4) data socket (see ng_socket(4))	when started.

     The environment variables HISMACADDR and ACNAME are made available	to the
     child process and are set to the MAC address of the peer and the name of
     the AC respectively.

     Upon invocation, pppoed will attach a "pppoe" netgraph node to the	rele-
     vant "ether" node using "interface:" as the node name, and	then connect
     that "pppoe" node to a local "socket" node.  If the -F option has not
     been given, pppoed	will then go into the background and disassociate it-
     self from the controlling terminal.  When the -F option is	given, pppoed
     stays in the foreground.

     If	the -d option is given,	additional diagnostics are provided (see the
     DIAGNOSTICS section below).  If the -n option is given, NgSetDebug() is
     called with an argument of	ngdebug.

     If	pidfile	is given, pppoed will write its	process	ID to this file	on

     After creating the	necessary netgraph(4) nodes as described above,	pppoed
     uses syslogd(8) to	report all incoming connections.  If the -d option is
     given, pppoed will	report on the child processes creation of a new	net-
     graph socket, its service offer and the invocation	of the ppp(8) program.
     If	the -n option is given,	netgraph diagnostic messages are also redi-
     rected to syslogd(8).

     It	is sometimes useful to add the following to /etc/syslog.conf:

	   *.*				   /var/log/pppoed.log

     and the following to /etc/newsyslog.conf:

	   /var/log/pppoed.log		 640  3	      100    *	   Z

     NgSetDebug(3), netgraph(4), ng_ether(4), ng_pppoe(4), ng_socket(4),
     syslog.conf(5), ppp(8), syslogd(8)

     The pppoed	utility	was written by Brian Somers <> and
     first appeared in FreeBSD 3.4.

     If	another	netgraph node is using the given interface, pppoed will	fail
     to	start.	This is	because	netgraph(4) does not currently allow node
     chaining.	This may change	in the future.

BSD			       November	8, 1999				   BSD


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

home | help