2004-05-16 14:41:20 +00:00
|
|
|
.\" Copyright (C) 2003-2004 Cronyx Engineering.
|
|
|
|
.\" Copyright (C) 2003-2004 Roman Kurakin <rik@cronyx.ru>
|
|
|
|
.\"
|
|
|
|
.\" This software is distributed with NO WARRANTIES, not even the implied
|
|
|
|
.\" warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
.\"
|
|
|
|
.\" Authors grant any other persons or organisations a permission to use,
|
|
|
|
.\" modify and redistribute this software in source and binary forms,
|
|
|
|
.\" as long as this message is kept with the software, all derivative
|
|
|
|
.\" works or modified versions.
|
|
|
|
.\"
|
|
|
|
.\" Cronyx Id: ng_sppp.4,v 1.1.2.3 2004/03/30 14:28:34 rik Exp $
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\"
|
|
|
|
.Dd March 29, 2004
|
|
|
|
.Dt NG_SPPP 4
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm ng_sppp
|
|
|
|
.Nd sppp netgraph node type
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.In netgraph/ng_sppp.h
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
An
|
|
|
|
.Nm ng_sppp
|
|
|
|
node is a
|
|
|
|
.Xr netgraph 4
|
|
|
|
interface to the original
|
|
|
|
.Xr sppp 4
|
2004-07-03 18:29:24 +00:00
|
|
|
network module for synchronous lines.
|
|
|
|
Currently
|
2004-05-16 14:41:20 +00:00
|
|
|
.Xr sppp 4
|
|
|
|
supports PPP and Cisco HDLC protocol.
|
|
|
|
An
|
|
|
|
.Nm ng_sppp
|
|
|
|
node could be considered as an alternative kernel mode ppp
|
|
|
|
implementation to
|
|
|
|
.Xr mpd ports +
|
|
|
|
.Xr ng_ppp 4
|
|
|
|
and as an alternative to
|
|
|
|
.Xr ng_cisco 4
|
|
|
|
node.
|
|
|
|
While having less features than mpd +
|
|
|
|
.Xr ng_ppp 4 ,
|
|
|
|
it is significantly easier to use in the majority of simple configurations
|
|
|
|
and allows the administrator to not install the mpd port.
|
|
|
|
With
|
|
|
|
.Nm ng_sppp
|
|
|
|
you don't need any other nodes, not even an
|
|
|
|
.Xr ng_iface 4
|
|
|
|
node.
|
|
|
|
When an
|
|
|
|
.Nm ng_sppp
|
|
|
|
node is created, a new interface appears which is accessible via
|
|
|
|
.Xr ifconfig 8 .
|
|
|
|
.Nm ng_sppp
|
|
|
|
node interfaces are named
|
|
|
|
.Dv sppp0 ,
|
|
|
|
.Dv sppp1 ,
|
|
|
|
etc.
|
|
|
|
When a node is shutdown, the corresponding interface is removed
|
|
|
|
and the interface name becomes available for reuse by future
|
|
|
|
.Nm ng_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
|
|
|
|
.Nm ng_sppp
|
|
|
|
node allows drivers written to the old sppp interface to be rewritten using the
|
|
|
|
newer more powerful
|
|
|
|
.Xr netgraph 4
|
|
|
|
interface and still behave in a compatible manner without supporting both
|
|
|
|
network modules.
|
|
|
|
.Pp
|
|
|
|
An
|
|
|
|
.Nm ng_sppp
|
2004-07-03 18:29:24 +00:00
|
|
|
node has a single hook named downstream.
|
|
|
|
Usually it is connected directly to
|
2004-05-16 14:41:20 +00:00
|
|
|
a device driver hook.
|
|
|
|
.Pp
|
|
|
|
.Nm ng_sppp
|
|
|
|
nodes support the Berkeley Packet Filter (BPF).
|
|
|
|
.Sh HOOKS
|
|
|
|
This node type supports the following hooks:
|
|
|
|
.Pp
|
|
|
|
.Bl -tag -width abcdefghijklmnop
|
|
|
|
.It Dv downstream
|
|
|
|
The connection to the synchronous line.
|
|
|
|
.El
|
|
|
|
.Sh CONTROL MESSAGES
|
|
|
|
This node type supports the generic control messages, plus the following:
|
|
|
|
.Bl -tag -width foo
|
|
|
|
.It Dv NGM_IFACE_GET_IFNAME
|
|
|
|
Returns the name of the interface corresponding to this node in a
|
|
|
|
.Dv "struct ng_iface_ifname" :
|
|
|
|
.Bd -literal -offset 4n
|
|
|
|
struct ng_iface_ifname {
|
|
|
|
char ngif_name[NG_SPPP_IFACE_NAME_MAX + 1];
|
|
|
|
};
|
|
|
|
.Ed
|
|
|
|
.El
|
|
|
|
.Sh SHUTDOWN
|
|
|
|
This node shuts down upon receipt of a
|
|
|
|
.Dv NGM_SHUTDOWN
|
2004-07-03 18:29:24 +00:00
|
|
|
control message.
|
|
|
|
The associated interface is removed and becomes available
|
2004-05-16 14:41:20 +00:00
|
|
|
for use by future
|
|
|
|
.Nm ng_sppp
|
|
|
|
nodes.
|
|
|
|
.Pp
|
|
|
|
Unlike most other node types and like
|
|
|
|
.Xr ng_iface 4
|
|
|
|
does, an
|
|
|
|
.Nm ng_sppp
|
|
|
|
node does
|
|
|
|
.Em not
|
|
|
|
go away when all hooks have been disconnected; rather, and explicit
|
|
|
|
.Dv NGM_SHUTDOWN
|
|
|
|
control message is required.
|
|
|
|
.Sh EXAMPLES
|
|
|
|
For example, if you have
|
|
|
|
.Xr cx 4 device, you could run PPP over it with just one command:
|
|
|
|
.Pp
|
|
|
|
ngctl mkpeer cx0: sppp rawdata downstream
|
|
|
|
.Pp
|
|
|
|
Now you have sppp0 interface (if this is a first sppp node) which can be
|
|
|
|
managed via
|
|
|
|
.Xr ifconfig 4 as a usual network interface,
|
|
|
|
or via
|
|
|
|
.Xr spppcontrol 8 as a sppp interface.
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr bpf 4 ,
|
2004-07-04 20:55:50 +00:00
|
|
|
.Xr cx 4 ,
|
2004-05-16 14:41:20 +00:00
|
|
|
.Xr netgraph 4 ,
|
|
|
|
.Xr ng_cisco 4 ,
|
|
|
|
.Xr ng_iface 4 ,
|
|
|
|
.Xr ng_ppp 4 ,
|
2004-07-04 20:55:50 +00:00
|
|
|
.Xr sppp 4 ,
|
2004-05-16 14:41:20 +00:00
|
|
|
.Xr ifconfig 8 ,
|
2004-07-04 20:55:50 +00:00
|
|
|
.Xr ngctl 8 ,
|
2004-05-16 14:41:20 +00:00
|
|
|
.Xr spppcontrol 8
|
|
|
|
.Pp
|
|
|
|
For complex networking topologies you may want to look at
|
2004-07-04 20:55:50 +00:00
|
|
|
.Pa net/mpd
|
|
|
|
port.
|
2004-05-16 14:41:20 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm ng_sppp
|
|
|
|
node type was implemented for
|
|
|
|
.Fx 5.0 .
|
|
|
|
It was included to the system since
|
2004-07-02 19:07:33 +00:00
|
|
|
.Fx 5.3 .
|
2004-05-16 14:41:20 +00:00
|
|
|
.Sh AUTHOR
|
|
|
|
.An Copyright (C) 2003-2004 Roman Kurakin Aq rik@cronyx.ru
|