ng_sppp(4)
NAME
ng_sppp - sppp netgraph node type
SYNOPSIS
#include <netgraph/ng_sppp.h>
DESCRIPTION
- An sppp 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 al - ternative 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 correspond - ing to sppp
nodes are named sppp0, sppp1, etc. When a node is shut - down, the corresponding interface is removed, and the interface name be
- comes 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 re - mains unnamed.
The sppp node allows drivers written to the old sppp(4) in - terface to be
rewritten using the newer more powerful netgraph(4) inter - face, and still
behave in a compatible manner without supporting both net - work 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_IFACE_GET_IFNAME
- 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 a NGM_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 inter - face, 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
- The sppp 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>.
- BSD February 3, 2005