On Mon, Jun 25, 2018 at 8:59 AM Flavio Leitner <fbl@xxxxxxxxxx> wrote: > > The sock reference is lost when scrubbing the packet and that breaks > TSQ (TCP Small Queues) and XPS (Transmit Packet Steering) causing > performance impacts of about 50% in a single TCP stream when crossing > network namespaces. > > XPS breaks because the queue mapping stored in the socket is not > available, so another random queue might be selected when the stack > needs to transmit something like a TCP ACK, or TCP Retransmissions. > That causes packet re-ordering and/or performance issues. > > TSQ breaks because it orphans the packet while it is still in the > host, so packets are queued contributing to the buffer bloat problem. Why should TSQ in one stack care about buffer bloat in another stack? Actually, I think the current behavior is correct, once the packet leaves its current stack (or netns), it should relief the backpressure on TCP socket in this stack, whether it will be queued in another stack is beyond its concern. This breaks the isolation between networking stacks. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html