Page MenuHomeFreeBSD

D6319.id.diff
No OneTemporary

D6319.id.diff

Index: head/sys/dev/sfxge/common/hunt_filter.c
===================================================================
--- head/sys/dev/sfxge/common/hunt_filter.c
+++ head/sys/dev/sfxge/common/hunt_filter.c
@@ -1191,7 +1191,7 @@
static __checkReturn efx_rc_t
-hunt_filter_get_workarounds(
+ef10_filter_get_workarounds(
__in efx_nic_t *enp)
{
efx_nic_cfg_t *encp = &enp->en_nic_cfg;
@@ -1319,18 +1319,28 @@
* filters, and can only be enabled or disabled when the hardware filter
* table is empty.
*
+ * Chained multicast filters require support from the datapath firmware,
+ * and may not be available (e.g. low-latency variants or old Huntington
+ * firmware).
+ *
* Firmware will reset (FLR) functions which have inserted filters in
* the hardware filter table when the workaround is enabled/disabled.
* Functions without any hardware filters are not reset.
*
* Re-check if the workaround is enabled after adding unicast hardware
- * filters. This ensures that encp->enc_workaround_bug26807 matches the
+ * filters. This ensures that encp->enc_bug26807_workaround matches the
* firmware state, and that later changes to enable/disable the
* workaround will result in this function seeing a reset (FLR).
*
- * FIXME: On Medford multicast chaining should always be on.
+ * In common-code drivers, we only support multiple PCI function
+ * scenarios with firmware that supports multicast chaining, so we can
+ * assume it is enabled for such cases and hence simplify the filter
+ * insertion logic. Firmware that does not support multicast chaining
+ * does not support multiple PCI function configurations either, so
+ * filter insertion is much simpler and the same strategies can still be
+ * used.
*/
- if ((rc = hunt_filter_get_workarounds(enp)) != 0)
+ if ((rc = ef10_filter_get_workarounds(enp)) != 0)
goto fail2;
if ((table->eft_using_all_mulcst != all_mulcst) &&

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 25, 1:01 AM (7 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32101586
Default Alt Text
D6319.id.diff (1 KB)

Event Timeline