Fix the major Rx packet-loss issue on iwx(4) MA devices and BZ devices.
Set the client.is_assoc flag in the new iwx(4) MAC context firmware command
when we are associating to the AP. Without this flag the firmware remains in
unassociated state which does not work very well for passing traffic.
Tested by kettenis@ on MA and myself on BZ
set the assoc ID field in iwx(4) firmware commands correctly
Newer firmware does not like seeing bits 0xc000 set in the assoc ID.
The AP sets these bits but they don't belong to the actual ID value.
Mask these bits out to prevent fatal firmware errors.
Thanks to Johannes Berg for deciphering firmware sysassert code 0x20103312.
I likely would have gotten stuck trying to find the solution by myself.
Create rde_filter_out() to optimise filter matching
rde_filter_match() now just uses struct filter_match data for matching
and the peer info from struct filter_peer is only used by rde_filter().
Outbound filters are per-peer and so the filter_peer check is done during
configuration of the peer. So rde_filter_out() just calls rde_filter_match().
OK tb@
news/tin tweaks:
- add hidden dep on uriparser, found by Hugo Villeneuve
- switch from pcre to pcre2
- remove some bogus SITES entries, add an https to the top of the list
Adjust the doorbell write functions to prepare for notification queues
used by newer hardware. No functional change for the already
supported generations.
also tested by stsp@ as part of a larger diff
ok dlg@