freebsd-dev/sys/net
Andrey V. Elsukov 1a01e0e7ac Add inpcb pointer to struct ipsec_ctx_data and pass it to the pfil hook
from enc_hhook().

This should solve the problem when pf is used with if_enc(4) interface,
and outbound packet with existing PCB checked by pf, and this leads to
deadlock due to pf does its own PCB lookup and tries to take rlock when
wlock is already held.

Now we pass PCB pointer if it is known to the pfil hook, this helps to
avoid extra PCB lookup and thus rlock acquiring is not needed.
For inbound packets it is safe to pass NULL, because we do not held any
PCB locks yet.

PR:		220217
MFC after:	3 weeks
Sponsored by:	Yandex LLC
2017-07-31 11:04:35 +00:00
..
altq Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
bpf_buffer.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bpf_buffer.h
bpf_filter.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
bpf_jitter.c Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
bpf_jitter.h Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
bpf_zerocopy.c
bpf_zerocopy.h
bpf.c Update comments and simplify conditionals for compat32 2017-06-27 01:29:10 +00:00
bpf.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bpfdesc.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bridgestp.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
bridgestp.h
dlt.h MFV r313759: license change for a few headers (4 clause BSD to 3 clause BSD). 2017-02-15 07:22:47 +00:00
ethernet.h ethernet: Add ethernet interface attached event and devctl notification. 2017-07-24 03:32:10 +00:00
fddi.h
firewire.h
ieee8023ad_lacp.c Add several new media types to if_media.h 2017-05-10 18:33:40 +00:00
ieee8023ad_lacp.h Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
ieee_oui.h
if_arc.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_arcsubr.c Remove the 4.3BSD compatible macro m_copy(), use m_copym() instead. 2016-09-15 07:41:48 +00:00
if_arp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_bridge.c Make if_bridge complain if it can't disable some capabilities. 2017-04-29 08:52:07 +00:00
if_bridgevar.h bridge: Release the bridge lock when calling bridge_set_ifcap() 2017-01-25 21:25:26 +00:00
if_clone.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_clone.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_dead.c Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
if_debug.c Add more fields to if_debug.c for ddb(4) 'show ifnet'; resort 2016-06-22 12:53:10 +00:00
if_disc.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_dl.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_edsc.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_enc.c Add inpcb pointer to struct ipsec_ctx_data and pass it to the pfil hook 2017-07-31 11:04:35 +00:00
if_enc.h Add inpcb pointer to struct ipsec_ctx_data and pass it to the pfil hook 2017-07-31 11:04:35 +00:00
if_epair.c Fixed typo in comment found while reading commit email for fix of 2017-04-08 04:50:50 +00:00
if_ethersubr.c ethernet: Add ethernet interface attached event and devctl notification. 2017-07-24 03:32:10 +00:00
if_fddisubr.c sys: Replace zero with NULL for pointers. 2017-02-22 02:35:59 +00:00
if_fwsubr.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_gif.c Extract out the various local definitions of ETHER_IS_BROADCAST() and 2016-08-07 03:48:33 +00:00
if_gif.h
if_gre.c Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_gre.h Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_ipsec.c Introduce the concept of IPsec security policies scope. 2017-03-07 00:13:53 +00:00
if_ipsec.h Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
if_iso88025subr.c sys: Replace zero with NULL for pointers. 2017-02-22 02:35:59 +00:00
if_lagg.c Don't hold the RM lock during lagg_proto_addport() to avoid an LOR. 2017-07-25 14:41:50 +00:00
if_lagg.h Remove some code, dead from the day one. 2017-05-25 23:19:09 +00:00
if_llatbl.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
if_llatbl.h Make LLTABLE list lock private for if_llatbl.c 2016-10-11 17:41:13 +00:00
if_llc.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_loop.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_me.c Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_media.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
if_media.h Add several new media types to if_media.h 2017-05-10 18:33:40 +00:00
if_mib.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
if_mib.h
if_pflog.h
if_pfsync.h
if_sppp.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_spppfr.c
if_spppsubr.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_stf.c Remove the unused mutex since r273220. 2017-07-28 04:41:57 +00:00
if_tap.c
if_tap.h
if_tapvar.h
if_tun.c Allow writing IP packets of length TUNMRU no matter if TUNSIFHEAD is set 2016-05-19 13:52:12 +00:00
if_tun.h Allow an MTU of 65535 bytes to be set via TUN[SG]IFINFO. This requires 2016-05-24 11:47:14 +00:00
if_types.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_var.h Persistently store NIC's hardware MAC address, and add a way to retrive it 2017-05-10 22:13:47 +00:00
if_vlan_var.h Add support to priority code point (PCP) that is an 3-bit field 2016-06-06 09:51:58 +00:00
if_vlan.c Add parent interface reference counting to if_vlan. 2017-05-23 00:13:27 +00:00
if_vxlan.c net: Use M_HASHTYPE_OPAQUE_HASH if the mbuf flowid has hash properties 2016-06-07 04:51:50 +00:00
if_vxlan.h
if.c Persistently store NIC's hardware MAC address, and add a way to retrive it 2017-05-10 22:13:47 +00:00
if.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
ifdi_if.m IFLIB updates 2017-03-13 22:53:06 +00:00
iflib.c Slight restructure of iflib_busdma_load_mbuf_sg() to fix accounting 2017-07-27 22:53:47 +00:00
iflib.h Deprecate unused int isc_max_txqsets and int isc_max_rxqsets as they 2017-07-27 21:21:43 +00:00
ifq.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
iso88025.h
mp_ring.c sys/net: more spelling. 2016-05-19 16:28:05 +00:00
mp_ring.h Import the 'iflib' API library for network drivers. From the author: 2016-05-18 04:35:58 +00:00
mppc.h ng_mppc(4): Bring netgraph(3) MPPC compression support. 2016-06-07 15:07:00 +00:00
mppcc.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
mppcd.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
netisr_internal.h
netisr.c Bring back r313037, with fixes for mips: 2017-02-19 02:03:09 +00:00
netisr.h Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
netmap_user.h Update netmap_user.h with the current version of netmap. This file should 2017-07-21 03:42:09 +00:00
netmap_virt.h Various fixes for ptnet/ptnetmap (passthrough of netmap ports). In detail: 2016-10-27 09:46:22 +00:00
netmap.h Various fixes for ptnet/ptnetmap (passthrough of netmap ports). In detail: 2016-10-27 09:46:22 +00:00
paravirt.h
pfil.c Remove "IPFW static rules" rmlock. 2017-04-03 13:35:04 +00:00
pfil.h Remove "IPFW static rules" rmlock. 2017-04-03 13:35:04 +00:00
pfkeyv2.h Introduce the concept of IPsec security policies scope. 2017-03-07 00:13:53 +00:00
pfvar.h pf: Fix possible shutdown race 2017-03-22 21:18:18 +00:00
ppp_defs.h
radix_mpath.c radix_mpath: Don't derefence a NULL pointer in for loop iteration 2016-04-26 20:27:17 +00:00
radix_mpath.h MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
radix.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
radix.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
raw_cb.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
raw_cb.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
raw_usrreq.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
rndis.h rndis: Add LINK_SPEED_CHANGE status 2017-07-24 03:59:50 +00:00
route_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
route.c After inpcb route caching was put back in place there is no need for 2017-07-27 13:03:36 +00:00
route.h Resurrect RTF_RNH_LOCKED flag and restore ability to call rtalloc1_fib() 2017-06-13 10:52:31 +00:00
rss_config.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
rss_config.h
rtsock.c Fix typo in comment. 2017-04-08 04:37:01 +00:00
sff8436.h Add SFF-8024 Extended Specification Compliance 2015-12-28 09:26:07 +00:00
sff8472.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
slcompress.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
slcompress.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
toeplitz.c
toeplitz.h
vnet.c Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00
vnet.h Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00