To give more information on this issue:

ip_defrag will send a randomly-sized packet, and the result depends on
that size, so we will see intermittent failures because of this reason.

But not this reason alone. The test that fails require a conntrack rule
that will cause all fragments to be queued, and, then, sent all at once
through the loopback interface. If the loop that sends all those packets
is preempted, the problem may not show up, so there is one more cause
for the failures to be intermittent. If it's not preempted, it might end
up pushing more than 1000 packets, causing some of them to be dropped
because of the backlog limit, which will cause the test to fail.

Raising the backlog limit or adjusting the maximum packet size on the
test would fix it. The concern about raising the backlog limit is that
it might affect other tests, even if it's rollbacked after the test,
because some tests might run in parallel.

We could adjust the maximum size, but this would be not be upstreamable,
as Eric Dumazet argues this is a real bug that should be fixed. In fact,
I managed to reproduce it using veth.

On the other hand, I couldn't think of an easy way to fix this. Changing
those drivers to skip the backlog doesn't seem a good idea to me.

Cascardo.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1826848

Title:
  ip_defrag.sh in net from ubuntu_kernel_selftests failed with 5.0 / 5.3
  kernel

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1826848/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to