Packet Filtering

Updated: April 19, 2023

QNX Neutrino RTOS uses the FreeBSD implementation of packet filtering (PF). See the FreeBSD documentation for information about the following io-sock packet filtering components:

Instructions that provide general information about FreeBSD packet filtering also apply to using the feature with io-sock, with some exceptions. For example, the following documentation is available:

Loading PF

Some operating systems that use FreeBSD PF require you to load the PF kernel module to make the feature available. On QNX Neutrino systems, this is not necessary or supported because the PF module is automatically loaded when you start io-sock.

You use pfctl (https://www.freebsd.org/cgi/man.cgi?query=pfctl&sektion=8&manpath=FreeBSD+13.0-RELEASE+and+Ports) to enable and disable PF. For more information, see the pfctl documentation.

Startup configuration and configuration file

QNX Neutrino does not use the /etc/rc.conf file that FreeBSD provides to configure PF.

Instead, you use pfctl with -f file to specify the configuration file (by default, /etc/pf.conf). A sample file is provided at /usr/share/examples/pf/pf.conf. For more information, see https://www.freebsd.org/cgi/man.cgi?query=pf.conf&sektion=5&manpath=FreeBSD+13.0-RELEASE+and+Ports.

Because io-sock starts PF, the io-sock PF configuration file does not need or support the pf_enable entry.

The sysrc utility that FreeBSD provides to edit /etc/rc.conf and other files is not provided or needed for io-sock PF.