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