[SRU][J/N:linux-bluefield][PATCH v1 0/1] mlxbf_gige: interface defaults to ALLMULTI mode

David Thompson davthompson at nvidia.com
Wed May 6 14:20:56 UTC 2026


BugLink: https://bugs.launchpad.net/bugs/2151223

SRU Justification:

[Impact]

Today, the mlxbf_gige driver's "open()" routine calls "enable_multicast_rx()"
and leaves the OOB_RX_MAC_FILTER_MULTICAST register (offset 0x0570) at its
default data/mask values. In this default state, the GIGE interface operates
in ALLMULTI mode, so all frames with a destination multicast MAC address pass
through the hardware receive filter. If the network connected to oob_net0 has
lots of multicast traffic not intended for local termination to the BlueField
then driver resources are consumed handling these packets, and in extreme
cases can result in receive drops at driver level.

[Fix]

The fix updates the logic in the driver's "ndo_set_rx_mode()", which now
programs the hardware receive filters based on the multicast MAC addresses
configured by the stack. The new implementation can support up to three
multicast MAC addresses using two direct-match RX filters and a 48-bit
start/end range. If the stack attempts to configure more than 3 multicast
MAC addresses, then the interface will be programmed in ALLMULTI mode.

[Test Case]

* Boot BF3 and verify configured multicast MACs via "ip maddr show oob_net0"
* Perform traffic tests to that set of multicast MAC:
  a) If number of multicast MACs <= 3, then only multicast traffic to those MACs
     should be permitted
  b) If the number of multicast MACs > 3, then the oob_net0 interface is in
     ALLMULTI mode and will allow all multicast traffic

[Regression Potential]

Low risk, but could potentially impact handling of multicast traffic

David Thompson (1):
  UBUNTU: SAUCE: mlxbf_gige: update hardware receive filter config for multicast MACs

 .../ethernet/mellanox/mlxbf_gige/mlxbf_gige.h |  14 ++-
 .../mellanox/mlxbf_gige/mlxbf_gige_main.c     |   3 +-
 .../mellanox/mlxbf_gige/mlxbf_gige_regs.h     |   2 +
 .../mellanox/mlxbf_gige/mlxbf_gige_rx.c       | 104 ++++++++++++++++--
 4 files changed, 108 insertions(+), 15 deletions(-)

-- 
2.43.0




More information about the kernel-team mailing list