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

FreeBSD Manual Pages


home | help
SPPPCONTROL(8)		FreeBSD	System Manager's Manual		SPPPCONTROL(8)

     spppcontrol -- display or set parameters for an sppp interface

     spppcontrol [-v] ifname [parameter[=value]] [...]

     The sppp(4) module	and the	spppcontrol utility is not present in
     FreeBSD 14.0 and later.

     The sppp(4) driver	might require a	number of additional arguments or op-
     tional parameters besides the settings that can be	adjusted with
     ifconfig(8).  These are things like authentication	protocol parameters,
     but also other tunable configuration variables.  The spppcontrol utility
     can be used to display the	current	settings, or adjust these parameters
     as	required.

     For whatever intent spppcontrol is	being called, at least the parameter
     ifname needs to be	specified, naming the interface	for which the settings
     are to be performed or displayed.	Use ifconfig(8), or netstat(1) to see
     which interfaces are available.

     If	no other parameter is given, spppcontrol will just list	the current
     settings for ifname and exit.  The	reported settings include the current
     PPP phase the interface is	in, which can be one of	the names dead,
     establish,	authenticate, network, or terminate.  If an authentication
     protocol is configured for	the interface, the name	of the protocol	to be
     used, as well as the system name to be used or expected will be dis-
     played, plus any possible options to the authentication protocol if ap-
     plicable.	Note that the authentication secrets (sometimes	also called
     keys) are not being returned by the underlying system call, and are thus
     not displayed.

     If	any additional parameter is supplied, superuser	privileges are re-
     quired, and the command works in the "set"	mode.  This is normally	done
     quietly, unless the option	-v is also enabled, which will cause a final
     printout of the settings as described above once all other	actions	have
     been taken.  Use of this mode will	be rejected if the interface is	cur-
     rently in any other phase than dead.  Note	that you can force an inter-
     face into dead phase by calling ifconfig(8) with the parameter down.

     The currently supported parameters	include:

		   Set both, his and my	authentication protocol	to protoname.
		   The protocol	name can be one	of "chap", "pap", or "none".
		   In the latter case, the use of an authentication protocol
		   will	be turned off for the named interface.	This has the
		   side-effect of clearing the other authentication-related
		   parameters for this interface as well (i.e.,	system name
		   and authentication secret will be forgotten).

		   Same	as above, but only for my end of the link.  I.e., this
		   is the protocol when	remote is authenticator, and I am the
		   peer	required to authenticate.

		   Same	as above, but only for his end of the link.

		   Set my system name for the authentication protocol.

		   Set his system name for the authentication protocol.	 For
		   CHAP, this will only	be used	as a hint, causing a warning
		   message if remote did supply	a different name.  For PAP, it
		   is the name remote must use to authenticate himself (in
		   connection with his secret).

		   Set my secret (key, password) for use in the	authentication
		   phase.  For CHAP, this will be used to compute the response
		   hash	value, based on	remote's challenge.  For PAP, it will
		   be transmitted as plain text	together with the system name.
		   Do not forget to quote the secrets from the shell if	they
		   contain shell metacharacters	(or white space).

		   Same	as above.

		   Same	as above, to be	used if	we are an authenticator	and
		   the remote peer needs to authenticate.

		   Same	as above.

	   callin  Require remote to authenticate himself only when he is
		   calling in, but not when we are caller.  This is required
		   for some peers that do not implement	the authentication
		   protocols symmetrically (like Ascend	routers, for example).

	   always  The opposite	of callin.  Require remote to always authenti-
		   cate, regardless of which side is placing the call.	This
		   is the default, and will not	be explicitly displayed	in the
		   "list" mode.

		   Only	meaningful with	CHAP.  Do not re-challenge peer	once
		   the initial CHAP handshake was successful.  Used to work
		   around broken peer implementations that cannot grok being
		   re-challenged once the connection is	up.

		   With	CHAP, send re-challenges at random intervals while the
		   connection is in network phase.  (The intervals are cur-
		   rently in the range of 300 through approximately 800	sec-
		   onds.)  This	is the default,	and will not be	explicitly
		   displayed in	the "list" mode.

		   Allows to change the	value of the LCP restart timer.	 Val-
		   ues are specified in	milliseconds.  The value must be be-
		   tween 10 and	20000 ms, defaulting to	3000 ms.

		   Enable negotiation of Van Jacobsen header compression.
		   (Enabled by default.)

		   Disable negotiation of Van Jacobsen header compression.

		   Enable negotiation of the IPv6 network control protocol.
		   (Enabled by default if the kernel has IPv6 enabled.)

		   Disable negotiation of the IPv6 network control protocol.
		   Since every IPv4 interface in an IPv6-enabled kernel	auto-
		   matically gets an IPv6 address assigned, this option	pro-
		   vides for a way to administratively prevent the link	from
		   attempting to negotiate IPv6.  Note that initialization of
		   an IPv6 interface causes a multicast	packet to be sent,
		   which can cause unwanted traffic costs (for dial-on-demand

     # spppcontrol bppp0
     bppp0:  phase=dead
	     myauthproto=chap myauthname="uriah"
	     hisauthproto=chap hisauthname="ifb-gw" norechallenge

     Display the settings for bppp0.  The interface is currently in dead
     phase, i.e., the LCP layer	is down, and no	traffic	is possible.  Both
     ends of the connection use	the CHAP protocol, my end tells	remote the
     system name "uriah", and remote is	expected to authenticate by the	name
     "ifb-gw".	Once the initial CHAP handshake	was successful,	no further
     CHAP challenges will be transmitted.  There are supposedly	some known
     CHAP secrets for both ends	of the link which are not being	shown.

     # spppcontrol bppp0 \
	     authproto=chap \
	     myauthname=uriah myauthsecret='some secret' \
	     hisauthname=ifb-gw	hisauthsecret='another'	\

     A possible	call to	spppcontrol that could have been used to bring the in-
     terface into the state shown by the previous example.

     netstat(1), sppp(4), ifconfig(8)

     B.	Lloyd and W. Simpson, PPP Authentication Protocols, RFC	1334.

     W.	Simpson, Editor, The Point-to-Point Protocol (PPP), RFC	1661.

     W.	Simpson, PPP Challenge Handshake Authentication	Protocol (CHAP), RFC

     The spppcontrol utility appeared in FreeBSD 3.0.

     The program was written by	Jorg Wunsch, Dresden.

FreeBSD	13.0		       October 22, 2021			  FreeBSD 13.0


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

home | help