diff options
Diffstat (limited to 'static/freebsd/man4/ng_device.4')
| -rw-r--r-- | static/freebsd/man4/ng_device.4 | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/static/freebsd/man4/ng_device.4 b/static/freebsd/man4/ng_device.4 new file mode 100644 index 00000000..003c9bc9 --- /dev/null +++ b/static/freebsd/man4/ng_device.4 @@ -0,0 +1,102 @@ +.\" Copyright (c) 2002 Mark Santcroos <marks@ripe.net> +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 8, 2021 +.Dt NG_DEVICE 4 +.Os +.Sh NAME +.Nm ng_device +.Nd device netgraph node type +.Sh SYNOPSIS +.In netgraph/ng_device.h +.Sh DESCRIPTION +A +.Nm device +node is both a netgraph node and a system device interface. +When a +.Nm device +node is created, a new device entry appears which is accessible via the +regular file operators such as +.Xr open 2 , +.Xr close 2 , +.Xr read 2 , +.Xr write 2 , +etc. +.Pp +The first node is created as +.Pa /dev/ngd0 , +subsequent nodes are +.Pa /dev/ngd1 , /dev/ngd2 , +etc. +.Sh HOOKS +A +.Nm device +node has a single hook with an arbitrary name. +All data coming in over the hook will be presented to the device +for +.Xr read 2 . +All data coming in from the device entry by +.Xr write 2 +will be forwarded to the hook. +.Sh CONTROL MESSAGES +The +.Nm device +node supports the generic control messages, plus the following: +.Bl -tag -width 3n +.It Dv NGM_DEVICE_GET_DEVNAME +Returns the device name corresponding to the node. +.It Dv NGM_DEVICE_ETHERALIGN +Apply the system ETHER_ALIGN offset to mbufs sent out the node's hook, +if running on an architecture that requires strict alignment. +Use this option when the data being injected via the device node ultimately +ends up being fed into the protocol stack as ethernet packets (e.g., via +an +.Xr ng_eiface 4 +node). +.El +.\" Additionally, the node accepts +.\" .Xr ioctl 2 Ns s +.\" from the device entry. +.\" These will be encapsulated into +.\" .Xr netgraph 4 +.\" messages and send out to the hook. +.Sh SHUTDOWN +This node shuts down upon receipt of a +.Dv NGM_SHUTDOWN +control message, or upon hook disconnection. +The associated device entry is removed and becomes available +for use by future +.Nm device +nodes. +.Sh SEE ALSO +.Xr netgraph 4 , +.Xr ngctl 8 +.Sh HISTORY +The +.Nm device +node type was first implemented in +.Fx 5.0 . +.Sh AUTHORS +.An Mark Santcroos Aq Mt marks@ripe.net +.An Gleb Smirnoff Aq Mt glebius@FreeBSD.org |
