Comment 99 for bug 1861936

Revision history for this message
Boris Prinz (bprinz) wrote :

I found a way to trigger the problem fast (within one minute).

On Raspberry Pi 3 B+:

* Enable IPv4 forwarding: sysctl net.ipv4.ip_forward=1
* Enable masquerading: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
* Start a netcat listening process: sudo nc -l -p 1234 > /dev/null

On another machine:

* Configure IPv4 address manually setting Raspberry Pi as gateway
* Open browser and load some web pages to test routing
* Send data to Raspberry Pi: nc RASPI_IP 1234 < /dev/zero
* Parallel browsing now leads to network crash on Raspberry Pi.

A few seconds later the kernel warining appears:

    NETDEV WATCHDOG: eth0 (lan78xx): transmit queue 0 timed out

Both machines are connected via ethernet to a 100MBit router.

I tested the following hardware:

* Raspberry Pi 2 Model B v1.1: no crash
* Raspberry Pi 3 Model B+: crash
* Raspberry Pi 4 Model B (4 GB): no crash

$ uname -a
Linux ubuntu 5.8.0-1010-raspi #13-Ubuntu SMP PREEMPT Wed Dec 9 17:19:55 UTC 2020 armv7l armv7l armv7l GNU/Linux