freebsd-skq/sys
glebius 4d54a39862 There is a long standing problem with multicast programming for NICs
and IPv6.  With IPv6 we may call if_addmulti() in context of processing
of an incoming packet.  Usually this is interrupt context.  While most
of the NIC drivers are able to reprogram multicast filters without
sleeping, some of them can't.  An example is e1000 family of drivers.
With iflib conversion the problem was somewhat hidden.  Iflib processes
packets in private taskqueue, so going to sleep doesn't trigger an
assertion.  However, the sleep would block operation of the driver and
following incoming packets would fill the ring and eventually would
start being dropped.  Enabling epoch for the full time of a packet
processing again started to trigger assertions for e1000.

Fix this problem once and for all using a general taskqueue to call
if_ioctl() method in all cases when if_addmulti() is called in a
non sleeping context.  Note that nobody cares about returned value.

Reviewed by:	hselasky, kib
Differential Revision:	  https://reviews.freebsd.org/D22154
2019-10-29 17:36:06 +00:00
..
amd64 Fix reset of the kernel stack pointer in TSS for !PTI case on pmap activation 2019-10-28 10:50:37 +00:00
arm axp81x: Use the default regnode_init method 2019-10-23 09:54:50 +00:00
arm64 arm64: rk3399: add SPI driver and include it in GENERIC config 2019-10-25 21:38:38 +00:00
bsm
cam nda(4): Remove unnecessary union and avoid Clang -Wsizeof-array-divwarning 2019-10-24 22:23:53 +00:00
cddl loader: zio_checksum_verify should check byteswap 2019-10-27 08:35:29 +00:00
compat Add missing M_NOWAIT flag 2019-10-23 17:20:20 +00:00
conf arm64: rk3399: add SPI driver and include it in GENERIC config 2019-10-25 21:38:38 +00:00
contrib Merge ACPICA 20191018. 2019-10-19 14:56:44 +00:00
crypto Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
ddb ddb(4): Add some support for lexing IPv6 addresses 2019-09-09 16:32:23 +00:00
dev Add device IDs for the next generation of Intel HDA audio. 2019-10-28 23:31:22 +00:00
dts dtso: allwinner: Add an overlay for H3 thermal node 2019-08-24 13:26:34 +00:00
fs pseudofs: hashed vncache 2019-10-22 22:52:53 +00:00
gdb gdb(4): Implement support for NoAckMode 2019-10-17 22:37:25 +00:00
geom Make all the gnop parameters optional in the request from userland, 2019-10-16 21:49:44 +00:00
gnu arm: dts: ti: Fix mmc3 instance by setting it to disabled 2019-10-07 08:11:49 +00:00
i386 linux: futex_mtx should follow futex_list 2019-10-18 12:25:33 +00:00
isa
kern Merge td_epochnest with td_no_sleeping. 2019-10-29 17:28:25 +00:00
kgssapi Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
libkern Remove zlib 1.0.4 from kernel. 2019-08-25 17:13:00 +00:00
mips Remove page locking from pmap_mincore(). 2019-10-16 22:03:27 +00:00
modules arm64: rockchip: dts: Build the Khadas board DTS 2019-10-26 17:51:43 +00:00
net There is a long standing problem with multicast programming for NICs 2019-10-29 17:36:06 +00:00
net80211 Don't use if_maddr_rlock() in 802.11, use epoch(9) directly instead. 2019-10-10 23:55:33 +00:00
netgraph Don't use if_maddr_rlock() in ng_eiface(4), use epoch(9) directly instead. 2019-10-10 23:49:19 +00:00
netinet Properly set VNET when nuking recvif from fragment queues. 2019-10-25 18:54:06 +00:00
netinet6 Properly set VNET when nuking recvif from fragment queues. 2019-10-25 18:54:06 +00:00
netipsec Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
netpfil pf: Must be in NET_EPOCH to call icmp_error 2019-10-18 03:36:26 +00:00
netsmb Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
nfs
nfsclient
nfsserver
nlm
ofed VLAN_TRUNKDEV() requires epochification in ibcore after r353292. 2019-10-16 08:56:07 +00:00
opencrypto kTLS support for TLS 1.3 2019-09-27 19:17:40 +00:00
powerpc powerpc/booke: Simplify the MPC85XX PCIe root complex driver 2019-10-24 03:51:33 +00:00
riscv RISC-V: skip cpu-map when parsing elf_hwcap 2019-10-25 21:39:29 +00:00
rpc Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
security Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
sparc64 Split out a more generic debugnet(4) from netdump(4) 2019-10-17 16:23:03 +00:00
sys Augment macros that manipulate td_no_sleeping with assertions to check 2019-10-29 17:19:36 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests
tools fw_stub.awk: use @generated tag in generated files 2019-09-11 13:35:22 +00:00
ufs After the unlink() of one name of a file with multiple links, a 2019-10-24 21:28:37 +00:00
vm Add couple more assertions to vm_pager_assert_in(). The bogus page is 2019-10-25 16:59:54 +00:00
x86 hw.intrbalance: Make sysctl tunable 2019-10-19 16:37:49 +00:00
xdr
xen
Makefile