]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
dummynet: use m_rcvif_serialize/restore when queueing packets
authorGleb Smirnoff <glebius@FreeBSD.org>
Thu, 27 Jan 2022 05:58:50 +0000 (21:58 -0800)
committerGleb Smirnoff <glebius@FreeBSD.org>
Thu, 27 Jan 2022 05:58:50 +0000 (21:58 -0800)
commit165746f4e4bf54c5902a103c2d4a3455e651c58f
tree3485ef4cfa4ac4927fecb297382a61d34c3f5402
parente1882428dcbbafd2814d7e17b977a8f686784b39
dummynet: use m_rcvif_serialize/restore when queueing packets

This fixed panic with interface being removed while packet
was sitting on a queue.  This allows to pass all dummynet
tests including forthcoming dummynet:ipfw_interface_removal
and dummynet:pf_interface_removal and demonstrates use of
m_rcvif_serialize() and m_rcvif_restore().

Reviewed by: kp
Differential revision: https://reviews.freebsd.org/D33267
sys/netpfil/ipfw/dn_aqm_codel.c
sys/netpfil/ipfw/dn_aqm_pie.c
sys/netpfil/ipfw/dn_sched.h
sys/netpfil/ipfw/dn_sched_fq_codel.h
sys/netpfil/ipfw/dn_sched_fq_pie.c
sys/netpfil/ipfw/ip_dn_io.c