fw4: filter non hw-offload capable devices when resolving lower devices
authorJo-Philipp Wich <jo@mein.io>
Mon, 9 May 2022 13:09:50 +0000 (15:09 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 9 May 2022 14:06:32 +0000 (16:06 +0200)
commitb2682251a173103490a4a2556fb87e4df1d627b3
tree03ad82542fd6db2340732d05532d7da220bfade3
parent57984e0369974e3cf5830db4dfe5e93e8c494b09
fw4: filter non hw-offload capable devices when resolving lower devices

Make sure to ignore devices not capable of hardware offloading when resolving
lower devices for the flowtable declaration.

Commit 57984e0 ("fw4: always resolve lower flowtable devices") changed the
behaviour of fw4 to always resolve lower devices, even for soft offloading
but removed some a crucial check to omit incapable devices in the hardware
offloading case, regressing previously working setups due to the inclusion
of wireless devices into the hardware offloaded table declaration.

Since we need to reintroduce ubus device status information for this change,
we can utilize the devinfo value exposed there instead or resolving it from
sysfs ourselves. Also make sure to sort the deduplicated device list to
produce a deterministic result.

Fixes: 57984e0 ("fw4: always resolve lower flowtable devices")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
root/usr/share/ucode/fw4.uc
tests/01_configuration/01_ruleset