Possible arge driver bug - interrupt storm on int2

Gergely Kiss mail.gery at gmail.com
Tue Jul 31 13:45:53 UTC 2018


Hi,

I'm working on improving the freebsd-wifi-build project to have an
out-of-the-box gateway solution built on FreeBSD for SOHO routers. For more
information, please see below link:

https://github.com/kissg1988/freebsd-wifi-build

I've created a build script that should simplify creating a build
environment from scratch:

https://github.com/kissg1988/freebsd-wifi-build/blob/buildscript/scripts/build.sh

The goal is to make the distribution easy to build and use so it can be
flashed just as simple as OpenWrt or DD-WRT.

The device I'm working with is a TP-Link WN-1043ND v1.8 which has a Realtek
RTL8366RB switch and is built around the AR9132 SoC. The board runs
11.2-RELEASE currently.

The ethernet controller works perfectly with a static or DHCP provided IP
address, however it seems something is wrong with the way the driver
handles the TX queue in case 802.1Q tagging is in use and the system tries
sending PPP frames over the tagged interface (eg. vlan2).

Once ppp starts establishing the connection, packets to be sent are queued
but not being transmitted by the controller and an interrupt storm is
generated with only the TX_UNDERRUN flag set (without the TX_PKT_SENT flag).

This might be related to an issue seen a few years back:

https://lists.freebsd.org/pipermail/freebsd-mips/2015-October/004137.html

As PPPoE has an 8-byte overhead and VLAN tagging needs an additional 4-byte
field, I have lowered the MTU on arge0 and vlan2 to 1488 bytes but it
didn't make any difference, the interrupt storm still happens and it's
always reproducible. Once it starts, the only way to stop the storm is to
bring down arge0.

If I destroy the vlan interface, and put the WAN port to an access VLAN
with no tagging, the PPPoE connection works fine.

I'll make some more tests later today with -HEAD to see if it makes any
difference.

Any help or ideas would be much appreciated in the meantime.

Thanks,
Gergely


More information about the freebsd-mips mailing list