NAME
ng_gif
—
generic tunnel interface netgraph node
type
SYNOPSIS
#include
<netgraph/ng_gif.h>
DESCRIPTION
The ng_gif
netgraph node type allows
gif(4) interfaces to interact with the
netgraph(4) networking subsystem. Once the
ng_gif
module is loaded in the kernel, a node is
automatically created for each
gif(4) interface in the system. Each node will attempt to name itself
with the same name as the associated interface. All
ng_gif
nodes are persistent for as long as the
interface itself exists.
Two hooks are supported: lower
and
orphans
. The hook name
divert
may be used as an alias for
lower
, and is provided for compatibility with
ng_ether(4). In reality the two names represent the same hook.
The lower
hook is a connection to the raw
gif(4) device. When connected, all incoming packets are diverted out
this hook. Writing to this hook results in a raw encapsulated packet being
transmitted by the device. Normal outgoing packets are not affected by
lower
being connected.
The orphans
hook is equivalent to
lower
, except that only unrecognized packets (that
would otherwise be discarded) are written to the hook, and normal incoming
traffic is unaffected. At most one of orphans
and
lower
may be connected at any time.
In all cases, frames are raw packets with the address family of the packet attached to the front.
When no hooks are connected, packets flow normally upwards and downwards.
HOOKS
This node type supports the following hooks:
- lower
- Connection to the lower device link layer.
- orphans
- Like
lower
, but only receives unrecognized packets.
CONTROL MESSAGES
This node type supports only the generic control messages.
EXAMPLES
This command dumps all unrecognized packets received by the
gif0
interface to standard output decoded in hex and
ASCII:
nghook -a gif0: orphans
SEE ALSO
gif(4), netgraph(4), netintro(4), ifconfig(8), ngctl(8), nghook(8)
AUTHORS
Brooks Davis <brooks@FreeBSD.org>