NetBSD packet filter
Sign in to saveAlso known as NPF, npf.4, npf(4), libnpf, npfctl
NetBSD's new stateful packet filter
In the Vinony graph
Within Vinony's link graph, NetBSD packet filter is referenced by 81 other articles, and connects out to firewall, OpenWrt and IPFilter.
It is catalogued under topics including BSD software, Firewall software and NetBSD.
Its subject is documented across 6 Wikipedia language editions.
Source code
NPF is a layer 3 packet filter, supporting stateful packet inspection, IPv6, NAT, IP sets, extensions and many more. It uses BPF as its core engine and it was designed with a focus on high performance, scalability, multi-threading and modularity. NPF was written from scratch in 2009. It is written in C99 and distributed under the 2-clause BSD license. NPF offers the traditional set of features provided by packet filters. Some key features are: Stateful inspection (connection tracking). Including the full TCP state tracking. Network address translation (NAT): Static (stateless) and dynamic (stateful) translation. NAPT and other forms of port translation (e.g. port forwarding). Inbound and outbound NAT as well as bi-directional NAT. Network-to-network translation, including NETMAP and NPTv6. Carrier-grade NAT (CG-NAT) capability: known to serve over a million connections. Tables for efficient IP sets, including the longest prefix match support. Application Level Gateways (e.g. to support traceroute). NPF uses BPF with just-in-time (JIT) compilation. Rule procedures and a framework for NPF extensions (plugins). Extensions include: Rate limiting (traffic policing). Traffic normalization. Packet logging. Data Plane Development Kit integration. For a full set of features and their description, see the NPF documentation and other manual pages. You can try NPF-Router as a demo NPF+DPDK application, running a virtual test network with Docker containers.
Excerpt from the source-code README · 4,662 chars · not written by Vinony
Wikidata facts
- Official website
- rmind.github.io/npf
Show 1 more fact
- source code repository URL
- github.com/rmind/npf
via Wikidata · CC0