Man Linux: Main Page and Category List

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 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_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 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

     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〉.