table of contents
NG_SPPP(4) | Device Drivers Manual | NG_SPPP(4) |
NAME¶
ng_sppp
—
SYNOPSIS¶
#include <netgraph/ng_sppp.h>
DESCRIPTION¶
Ansppp
node is a netgraph(4)
interface to the original sppp(4) network module for
synchronous lines. Currently, sppp(4) supports PPP and Cisco
HDLC protocols. An sppp
node could be considered as an
alternative kernel mode PPP implementation to net/mpd
port + ng_ppp(4), and as an alternative to
ng_cisco(4) node. While having less features than
net/mpd + ng_ppp(4), it is
significantly easier to use in the majority of simple configurations, and
allows the administrator to not install the net/mpd
port. With sppp
you do not need any other nodes, not
even an ng_iface(4) node. When an
sppp
node is created, a new interface appears which is
accessible via ifconfig(8). Network interfaces corresponding
to sppp
nodes are named sppp0
,
sppp1
, etc. When a node is shut down, the
corresponding interface is removed, and the interface name becomes available
for reuse by future sppp
nodes. New nodes always take
the first unused interface. The node itself is assigned the same name as its
interface, unless the name already exists, in which case the node remains
unnamed. The sppp
node allows drivers written to the
old sppp(4) interface to be rewritten using the newer more
powerful netgraph(4) interface, and still behave in a
compatible manner without supporting both network modules.
An sppp
node has a single hook named
downstream. Usually it is connected directly to a
device driver hook.
The sppp
nodes support the Berkeley Packet
Filter, bpf(4).
HOOKS¶
This node type supports the following hooks:- downstream
- The connection to the synchronous line.
CONTROL MESSAGES¶
This node type supports the generic control messages, plus the following:NGM_SPPP_GET_IFNAME
(getifname
)- Returns the name of the associated interface as a
NUL
-terminated ASCII string. Normally this is the same as the name of the node.
SHUTDOWN¶
This node shuts down upon receipt of aNGM_SHUTDOWN
control message. The associated interface is removed and becomes available for
use by future sppp
nodes.
Unlike most other node types and like
ng_iface(4) does, an sppp
node
does not go away when all hooks have been disconnected;
rather, an explicit NGM_SHUTDOWN
control message is
required.
EXAMPLES¶
For example, if you have the cx(4) device, you could run PPP over it with just one command:ngctl mkpeer cx0: sppp rawdata
downstream
Now you have the sppp0
interface (if this
was the first sppp
node) which can be accessed via
ifconfig(8) as a normal network interface, or via
spppcontrol(8) as an sppp(4)
interface.
SEE ALSO¶
bpf(4), cx(4), netgraph(4), ng_cisco(4), ng_iface(4), ng_ppp(4), sppp(4), ifconfig(8), ngctl(8), spppcontrol(8)For complex networking topologies you may want to look at net/mpd port.
HISTORY¶
Thesppp
node type was implemented for
FreeBSD 5.0. It was included to the system since
FreeBSD 5.3.
AUTHORS¶
Copyright (C) 2003-2004 Roman Kurakin <rik@cronyx.ru>February 3, 2005 | Linux 4.19.0-10-amd64 |