---
name: "ng_split"
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_split"
---

# ng\_split(4)

incoming and outgoing packet flow splitter netgraph node

## NAME

**ng\_split** – incoming and outgoing packet flow splitter netgraph node

## SYNOPSIS

**#include \<netgraph/ng\_split.h\>**

## DESCRIPTION

The **split** node type is used to split a bidirectional stream of packets into two separate unidirectional streams of packets.

## HOOKS

This node type supports the following three hooks:

- *in*

  Packets received on *in* are forwarded to *mixed*.

- *out*

  Packets received on *out* will be discarded as illegal.

- *mixed*

  Packets received on *mixed* are forwarded to *out*.

## CONTROL MESSAGES

This node type supports only the generic control messages.

## SHUTDOWN

This node shuts down upon receipt of a NGM\_SHUTDOWN control message, or when all hooks have been disconnected.

## SEE ALSO

[netgraph(4)](/netgraph/4.md), [ngctl(8)](/ngctl/8.md)

## HISTORY

The **ng\_split** node type was implemented in FreeBSD 3.5 but incorporated into FreeBSD in FreeBSD 5.0.

## AUTHORS

Julian Elischer ⟨*julian@FreeBSD.org*⟩ Vitaly V. Belekhov ⟨*vitaly@riss-telecom.ru*⟩
