kernel - PF SMP work - fix RDR rules
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 12 Aug 2014 23:57:16 +0000 (16:57 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 12 Aug 2014 23:57:16 +0000 (16:57 -0700)
commit2b3d9c10edad0a8f26ac702a9206d525aa5cb5f3
tree179a72f2350c7531deabecde6e9bff2bcdb7e11c
parent9a90aa3df1fe417f1991f8797503c95d49a79846
kernel - PF SMP work - fix RDR rules

* Use the global state table for all global-flagged state.  RDR
  rules can apparently cause PF_SK_WIRE/PF_SK_STACK to be
  reversed so our global state table tests which only used
  PF_SK_WIRE for GLOBAL-flagged translations were not sufficient.

* Fixes issues with the reverse packet direction for a rdr
  rule not finding the reverse state.

* Note that RDR rules will not be SMP-optimal.

* Adds a bit more overhead for NAT translations which are not
  SMP optimal (however, most NAT translations select a port
  that will be SMP optimal).

Reported-by: alexh
sys/net/pf/pf.c