On Fri, 6 Nov 2020 08:30:30 +0100 Martin Willi wrote: > VRF devices use an optimized direct path on output if a default qdisc > is involved, calling Netfilter hooks directly. This path, however, does > not consider Netfilter rules completing asynchronously, such as with > NFQUEUE. The Netfilter okfn() is called for asynchronously accepted > packets, but the VRF never passes that packet down the stack to send > it out over the slave device. Using the slower redirect path for this > seems not feasible, as we do not know beforehand if a Netfilter hook > has asynchronously completing rules. > > Fix the use of asynchronously completing Netfilter rules in OUTPUT and > POSTROUTING by using a special completion function that additionally > calls dst_output() to pass the packet down the stack. Also, slightly > adjust the use of nf_reset_ct() so that is called in the asynchronous > case, too. > > Fixes: dcdd43c41e60 ("net: vrf: performance improvements for IPv4") > Fixes: a9ec54d1b0cd ("net: vrf: performance improvements for IPv6") > Signed-off-by: Martin Willi <martin@xxxxxxxxxxxxxx> David, can we get an ack?