OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
CVS: cvs.openbsd.org: src

From: Henning Brauer (henningcvs.openbsd.org)
Date: Mon May 28 2007 - 12:16:39 CDT


CVSROOT: /cvs
Module name: src
Changes by: henningcvs.openbsd.org 2007/05/28 11:16:39

Modified files:
        sys/altq : altq_cbq.c altq_hfsc.c altq_priq.c altq_red.c
        sys/kern : uipc_mbuf.c
        sys/net : if_bridge.c pf.c pf_norm.c pfvar.h
        sys/netinet : ip_input.c ipsec_input.c ipsec_output.c
        sys/netinet6 : ip6_forward.c ip6_input.c
        sys/sys : mbuf.h

Log message:
double pf performance.
boring details:
pf used to use an mbuf tag to keep track of route-to etc, altq, tags,
routing table IDs, packets redirected to localhost etc. so each and every
packet going through pf got an mbuf tag. mbuf tags use malloc'd memory,
and that is knda slow.
instead, stuff the information into the mbuf header directly.
bridging soekris with just "pass" as ruleset went from 29 MBit/s to
58 MBit/s with that (before ryan's randomness fix, now it is even betterer)
thanks to chris for the test setup!
ok ryan ryan ckuethe reyk