---
name: "ng_gif_demux"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/ng_gif_demux"
---

# ng\_gif\_demux(4)

generic tunnel interface packet demultiplexer netgraph node

## NAME

**ng\_gif\_demux** – generic tunnel interface packet demultiplexer netgraph node

## SYNOPSIS

**#include \<netgraph/ng\_gif\_demux.h\>**

## DESCRIPTION

The **ng\_gif\_demux** netgraph node type demultiplexes the output from [ng\_gif(4)](/ng_gif/4.md) nodes in the [netgraph(4)](/netgraph/4.md) networking subsystem.

The gif hook is meant to be connected to the lower or orphans hook of an [ng\_gif(4)](/ng_gif/4.md) node. The inet, inet6, atalk, ipx, atm, natm, and ns hooks output frames of the given type when they are received on the gif hook. When a frame is received on one of these hooks, it is encapsulated and sent out the gif hook.

## HOOKS

This node type supports the following hooks:

- *gif*

  Connection to the lower or orphans hook of an [ng\_gif(4)](/ng_gif/4.md) node.

- *inet*

  Hook for input and output of IP frames.

- *inet6*

  Hook for input and output of IPv6 frames.

- *atalk*

  Hook for input and output of AppleTalk frames.

- *ipx*

  Hook for input and output of IPX frames.

- *atm*

  Hook for input and output of ATM frames.

- *natm*

  Hook for input and output of NATM frames.

- *ns*

  Hook for input and output of NS frames.

## CONTROL MESSAGES

This node type supports only the generic control messages.

## SEE ALSO

[gif(4)](/gif/4.md), [netgraph(4)](/netgraph/4.md), [netintro(4)](/netintro/4.md), [ng\_gif(4)](/ng_gif/4.md), [ifconfig(8)](/ifconfig/8.md), [ngctl(8)](/ngctl/8.md), [nghook(8)](/nghook/8.md)

## AUTHORS

Brooks Davis ⟨*brooks@FreeBSD.org*⟩
