Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix multicast filtering on STM32 #431

Merged
merged 1 commit into from
Jan 28, 2025

Conversation

multiplemonomials
Copy link
Collaborator

Summary of changes

This PR fixes two issues with Ethernet multicast filtering on STM32. It's an update to my previous PR which added mcast filtering, but which I wasn't able to easily test the final version of (so some issues slipped through :( )

Issue 1: Hash table registers were swapped, meaning filtering wouldn't work once the perfect filter registers filled up

Issue 2: STM32 Eth IP v1 targets were calling HAL_ETH_ConfigMAC() after the point where I enabled mcast filtering, causing the register settings to get erased and all multicasts to be accepted regardless of filtering.

Impact of changes

Multicast filtering should actually work on STM32 targets now!

Migration actions required

Documentation

None


Pull request type

[X] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[X] Tests / results supplied as part of this PR

Tested using the emac test on STM32F4, it passed!

@multiplemonomials multiplemonomials merged commit 86f430b into master Jan 28, 2025
52 checks passed
@multiplemonomials multiplemonomials deleted the bugfix/stm32-eth-ipv1-fixmulticast branch January 28, 2025 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants