freebsd-skq/sys/net
melifaro 030e8d5bab Make PFIL use per-VNET lock instead of per-AF lock. Since most used packet
filters (ipfw and PF) use the same ruleset with the same lock for both
AF_INET and AF_INET6 there is no need in more fine-grade locking.
However, it is possible to request personal lock by specifying
PFIL_FLAG_PRIVATE_LOCK flag in pfil_head structure (see pfil.9 for
more details).

Export PFIL lock via rw_lock(9)/rm_lock(9)-like API permitting pfil consumers
to use this lock instead of own lock. This help reducing locks on main
traffic path.

pfil_assert() is currently not implemented due to absense of rm_assert().
Waiting for some kind of r234648 to be merged in HEAD.

This change is part of bigger patch reducing routing locking.

Sponsored by:	Yandex LLC
Reviewed by:	glebius, ae
OK'd by:	silence on net@
MFC after:	3 weeks
2012-10-22 14:10:17 +00:00
..
bpf_buffer.c Call bpf_jitter() before acquiring BPF global lock due to malloc() being used inside bpf_jitter. 2012-05-21 22:19:19 +00:00
bpf_buffer.h Call bpf_jitter() before acquiring BPF global lock due to malloc() being used inside bpf_jitter. 2012-05-21 22:19:19 +00:00
bpf_filter.c Clear the filter memory area before using it. Leaving it uninitialized may 2011-07-14 21:06:22 +00:00
bpf_jitter.c
bpf_jitter.h
bpf_zerocopy.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
bpf_zerocopy.h - Fix trivial typo 2012-01-14 17:07:52 +00:00
bpf.c Fix typo introduced in r236559. 2012-06-09 10:04:40 +00:00
bpf.h MFV: libpcap 1.3.0. 2012-10-05 18:42:50 +00:00
bpfdesc.h Fix old panic when BPF consumer attaches to destroying interface. 2012-05-21 22:17:29 +00:00
bridgestp.c Revert previous commit... 2012-10-10 08:36:38 +00:00
bridgestp.h Move the interface media check to a taskqueue, some interfaces (usb) sleep 2012-04-20 10:06:28 +00:00
ethernet.h
fddi.h
firewire.h
flowtable.c - Move jenkins.h to jenkins_hash.c 2012-09-04 12:07:33 +00:00
flowtable.h allocate ipv6 flows from the ipv6 flow zone 2010-05-16 21:48:39 +00:00
ieee8023ad_lacp.c Turn LACP debugging from a compile time option to a sysctl, it is very handy to 2012-05-26 08:09:01 +00:00
ieee8023ad_lacp.h
if_arc.h
if_arcsubr.c Revert previous commit... 2012-10-10 08:36:38 +00:00
if_arp.h - Merge changes to the base system to support OFED. These include 2011-03-21 09:40:01 +00:00
if_atm.h
if_atmsubr.c Revert previous commit... 2012-10-10 08:36:38 +00:00
if_bridge.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_bridgevar.h
if_clone.c Fix VIMAGE build. 2012-10-17 21:19:27 +00:00
if_clone.h Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_dead.c
if_debug.c Add infrastructure to allow all frames/packets received on an interface 2011-07-03 12:22:02 +00:00
if_disc.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_dl.h Use the LLINDEX macro to access the link-level I/F index. This makes 2012-05-19 02:39:43 +00:00
if_edsc.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_ef.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
if_enc.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_enc.h
if_epair.c Utilize new macro to initialize if_baudrate(). 2012-10-18 09:57:56 +00:00
if_ethersubr.c Revert previous commit... 2012-10-10 08:36:38 +00:00
if_faith.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_fddisubr.c Revert previous commit... 2012-10-10 08:36:38 +00:00
if_fwsubr.c Revert previous commit... 2012-10-10 08:36:38 +00:00
if_gif.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_gif.h
if_gre.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
if_gre.h gre(4) was using a field in the softc to detect possible recursion. 2011-06-18 09:34:03 +00:00
if_iso88025subr.c Revert previous commit... 2012-10-10 08:36:38 +00:00
if_lagg.c Fix build. 2012-10-17 08:19:08 +00:00
if_lagg.h Add the ability to set which packet layers are used for the load balance hash 2012-03-06 22:58:13 +00:00
if_llatbl.c Fix races between in_lltable_prefix_free(), lla_lookup(), 2012-08-02 13:57:49 +00:00
if_llatbl.h Fix races between in_lltable_prefix_free(), lla_lookup(), 2012-08-02 13:57:49 +00:00
if_llc.h
if_loop.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_media.c Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
if_media.h Add media types for 40G media that might be used with FreeBSD. 2012-04-10 13:59:35 +00:00
if_mib.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
if_mib.h
if_pflog.h o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
if_pfsync.h o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
if_sppp.h
if_spppfr.c Remove a few bits of FreeBSD 2.x compatibility code. 2011-11-14 18:21:27 +00:00
if_spppsubr.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
if_stf.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_stf.h
if_tap.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_tap.h
if_tapvar.h Revert part of an earlier patch attempt that snuck in with r240938. 2012-09-25 23:41:45 +00:00
if_tun.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if_tun.h
if_types.h A major overhaul of the CARP implementation. The ip_carp.c was started 2011-12-16 12:16:56 +00:00
if_var.h Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
if_vlan_var.h Clarify throughout the vlan(4) code the difference between a "tag" (the 2012-01-12 18:39:37 +00:00
if_vlan.c Make the "struct if_clone" opaque to users of the cloning API. Users 2012-10-16 13:37:54 +00:00
if.c Update to previous r241688 to use __func__ instead of spelled out function 2012-10-19 10:07:55 +00:00
if.h provide helper if_initbaudrate() to set if_baudrate_pf and if_baudrate_pf. 2012-10-17 19:24:13 +00:00
iso88025.h
netisr_internal.h Rework netisr policy mechanism so that per-protocol dispatch policies can 2011-05-24 12:34:19 +00:00
netisr.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
netisr.h Rework netisr policy mechanism so that per-protocol dispatch policies can 2011-05-24 12:34:19 +00:00
netmap_user.h Cast through void * to silence compiler warning 2012-10-03 21:41:20 +00:00
netmap.h A bit of cleanup in the names of fields of netmap-related structures. 2012-04-13 16:03:07 +00:00
pf_mtag.h o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
pfil.c Make PFIL use per-VNET lock instead of per-AF lock. Since most used packet 2012-10-22 14:10:17 +00:00
pfil.h Make PFIL use per-VNET lock instead of per-AF lock. Since most used packet 2012-10-22 14:10:17 +00:00
pfkeyv2.h
pfvar.h Utilize Jenkins hash with random seed for source nodes storage. 2012-09-20 06:52:05 +00:00
ppp_defs.h
radix_mpath.c When the RADIX_MPATH kernel option is enabled, the RADIX_MPATH code tries 2011-08-25 04:31:20 +00:00
radix_mpath.h
radix.c whitespace cleanup 2010-07-15 14:41:59 +00:00
radix.h Make KBI changes required for future MFCing of inpcb rtentry / llentry caching. 2011-09-20 20:27:26 +00:00
raw_cb.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
raw_cb.h Pass the fibnum where we need filtering of the message on the 2011-09-28 13:48:36 +00:00
raw_usrreq.c Pass the fibnum where we need filtering of the message on the 2011-09-28 13:48:36 +00:00
route.c Hide kernel option ROUTETABLES evaluations in the implementation 2012-03-18 11:23:40 +00:00
route.h When ip_output()/ip6_output() is supplied a struct route *ro argument, 2012-07-04 07:37:53 +00:00
rtsock.c Mechanically remove the last stray remains of spl* calls from net*/*. 2012-10-18 13:57:24 +00:00
slcompress.c
slcompress.h
vnet.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
vnet.h Mfp4 CH=177255: 2011-02-11 14:17:58 +00:00
zlib.c Revert previous commit... 2012-10-10 08:36:38 +00:00
zlib.h Change some headers such that lang/gcc* ports no longer patch them. 2012-02-14 12:50:20 +00:00
zutil.h