pppoec - PPPoE chat utility
pppoec [-omillisecs] [-smillisecs] [-v] device [service [ [except]server... [only]]]
pppoec [-omillisecs] [-v] -i [device]
The pppoec utility implements the client-side negotiation of PPPoE. It is intended to be used with the pppd(1M) connect option, in the same manner as the chat(1M) utility is used for asynchronous dial-up PPP.
When given with the –i flag, pppoec sends out a broadcast query on the given interface named by the device parameter. You can specify no other arguments in this mode. All responding PPPoE servers and the offered services are displayed on standard output.
Otherwise, when given without the –i flag, pppoec does the full PPPoE client-side negotiation. The device parameter is the intended Ethernet interface, and must already be plumbed with sppptun(1M). The optional service parameter specifies a particular service desired; other offered services will be ignored. The optional server parameter specifies a specific server desired. You can specify server as an Ethernet address in the usual x:x:x:x:x:x format (with "*" in any of the six byte positions interpreted to mean "any"), or as a symbolic name resolved through /etc/ethers (or NIS), or as a PPPoE access concentrator name. The sense of the match (true or false) can be inverted by specifying the keyword except before this string. This parameter can be specified more than once, and the first match is taken.
If you specify the server parameter, then the selected servers become "preferred." If no preferred server responds, then the first responding server is used instead. To exclude non-matching servers entirely, append the keyword only.
The following options are supported:
Sends out broadcast query over interface specified by device.
Sets the initial wait time in milliseconds for PADO from the server before PADI is retried. The default is 500 milliseconds for normal operation, or 3000 milliseconds (3 seconds) for inquiry (–i) mode.
Sets the initial wait time in milliseconds for PADS from the server before PADR is retried. The default is 2000 milliseconds (2 seconds).
Displays verbose progress messages, including all PPPoE messages sent, and all state machine transitions.
You normally do not need to adjust the parameters set with –o and –s. They are provided for coping with unusually slow servers.
The following operands are supported:
plumbed Ethernet interface
preferred server or, if you specify only, the specified server
desired service; other available services are ignored
The following command enables you to connect to any PPPoE service on hme0:
# /usr/bin/pppd sppptun plugin pppoe.so \ connect "/usr/lib/inet/pppoec hme0" debug
Often, a command such as the preceding is specified in an /etc/ppp/peers file instead. For example, enter the following in /etc/ppp/peers/myisp:
sppptun plugin pppoe.so connect "/usr/lib/inet/pppoec hme0" debug
To invoke the PPP connection described in the file, enter:
% /usr/bin/pppd call myisp
Note that, because the /etc/ppp/peers files are considered privileged by pppd, you need not be root to invoke the preceding command.Example 2 Connecting to a Particular Service
A more complex example: on hme0, connect to only the internet service offered by PPPoE servers with access concentrator name isp, but not to any Ethernet addresses starting with 40:0:1a.
# /usr/lib/inet/pppoec hme0 internet except 40:0:1a:*:*:* isp only
Note that the except 40:0:1a:*:*:* filter must come before isp, because the filters are first-match.
The following exit values are returned:
An error occurred.
Solaris PPP tunneling device driver.
usual location of error output (see DIAGNOSTICS, below)
See attributes(5) for descriptions of the following attributes:
RFC 2516, Method for Transmitting PPP Over Ethernet (PPPoE), Mamakos et al, February 1999
Error messages are written to standard error, which is normally redirected by pppd to /etc/ppp/connect-errors. The errors can also be redirected to pppd's standard output by using the updetach option.
If you specify the –v, verbose progress messages are displayed, including all PPPoE messages sent, and all state machine transitions. Specifying the updetach or nodetach pppd option is helpful when using verbose mode.