Main Page

Packet Filter is OpenBSD's system for filtering TCP/IP traffic and doing Network Address Translation. PF is also capable of normalizing and conditioning TCP/IP traffic and providing bandwidth control and packet prioritization.

PF has been a part of the GENERIC OpenBSD kernel since OpenBSD 3.0, and has since been ported to FreeBSD 5 and up as well as NetBSD.

This wiki was created with the intent to share the knowledge of's #pf and what it's members have collected/contributed of their wisdom.


  1. Official Manuals and Man Pages
  2. User Docs Diagrams, User-written manuals and procedures
  3. Articles 3rd party articles on PF
  4. PF Changelog Changes in features and syntax for each version released
  5. OS Tuning Tuning of the OS to improve performance with PF

Packet Filtering


  1. Macros and Tables
  2. Packet Sanitation
  3. NAT & RDR
  4. Filter Rules
  1. Tools Using PF Other tools to use with PF
  2. User Contributed User-submitted configurations

ALTQ: Traffic Shaping

  1. Tips and Tricks
  1. HFSC when low-latency or throughput guarantees are needed
  2. CBQ when you do not have concerns over guaranteed latency or throughput
  3. PRIQ packet order prioritization only


[#pf] on []

Looking for something?

Use the form below to search the wiki:


Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!