diff --git a/etc/rc.d/pf b/etc/rc.d/pf index d7360c06cf57..3b9ae9387557 100644 --- a/etc/rc.d/pf +++ b/etc/rc.d/pf @@ -75,7 +75,9 @@ pf_reload() echo "Reloading pf rules." ${pf_program:-/sbin/pfctl} -n -f "${pf_rules}" || return 1 - ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1 + # Flush everything but existing state entries that way when + # rules are read in, it doesn't break established connections. + ${pf_program:-/sbin/pfctl} -Fnat -Fqueue -Frules -FSources -Finfo -FTables -Fosfp > /dev/null 2>&1 ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags} }