NG_GIF(4) BSD Kernel Interfaces Manual NG_GIF(4)
ng_gif -- generic tunnel interface netgraph node type
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.
This node type supports the following hooks:
lower Connection to the lower device link layer.
orphans Like lower, but only receives unrecognized packets.
This node type supports only the generic control messages.
This command dumps all unrecognized packets received by the gif0 inter-
face to standard output decoded in hex and ASCII:
nghook -a gif0: orphans
gif(4), netgraph(4), netintro(4), ifconfig(8), ngctl(8), nghook(8)
Brooks Davis <brooksATFreeBSD.org>
BSD September 18, 2001 BSD