Kill DOS newline breaks.
This commit is contained in:
parent
1ccd2529cc
commit
fe85f009b8
@ -1,151 +1,151 @@
|
||||
.\" 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
|
||||
network module for synchronous lines. Currently
|
||||
.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
|
||||
node has a single hook named downstream. Usually it is connected directly to
|
||||
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
|
||||
control message. The associated interface is removed and becomes available
|
||||
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 cx 4 ,
|
||||
.Xr bpf 4 ,
|
||||
.Xr sppp 4 ,
|
||||
.Xr netgraph 4 ,
|
||||
.Xr ng_cisco 4 ,
|
||||
.Xr ng_iface 4 ,
|
||||
.Xr ng_ppp 4 ,
|
||||
.Xr ifconfig 8 ,
|
||||
.Xr ngctl 8,
|
||||
.Xr spppcontrol 8
|
||||
.Pp
|
||||
For complex networking topologies you may want to look at
|
||||
.Xr mpd ports .
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm ng_sppp
|
||||
node type was implemented for
|
||||
.Fx 5.0 .
|
||||
It was included to the system since
|
||||
.Fx 5.3 .
|
||||
.Sh AUTHOR
|
||||
.An Copyright (C) 2003-2004 Roman Kurakin Aq rik@cronyx.ru
|
||||
.\" 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
|
||||
network module for synchronous lines. Currently
|
||||
.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
|
||||
node has a single hook named downstream. Usually it is connected directly to
|
||||
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
|
||||
control message. The associated interface is removed and becomes available
|
||||
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 cx 4 ,
|
||||
.Xr bpf 4 ,
|
||||
.Xr sppp 4 ,
|
||||
.Xr netgraph 4 ,
|
||||
.Xr ng_cisco 4 ,
|
||||
.Xr ng_iface 4 ,
|
||||
.Xr ng_ppp 4 ,
|
||||
.Xr ifconfig 8 ,
|
||||
.Xr ngctl 8,
|
||||
.Xr spppcontrol 8
|
||||
.Pp
|
||||
For complex networking topologies you may want to look at
|
||||
.Xr mpd ports .
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm ng_sppp
|
||||
node type was implemented for
|
||||
.Fx 5.0 .
|
||||
It was included to the system since
|
||||
.Fx 5.3 .
|
||||
.Sh AUTHOR
|
||||
.An Copyright (C) 2003-2004 Roman Kurakin Aq rik@cronyx.ru
|
||||
|
Loading…
x
Reference in New Issue
Block a user