[MULTICAST FORWARDING] Multicast forwarding lacks receiver-aware decision making
- Dominant language
- C
- Stars
- 4k
- Forks
- 1.7k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 237
Description
### Current multicast forwarding in NuttX is local-membership driven rather than receiver-aware
- IPv4, forwarding is based on the device’s IGMP group list, performing a fan-out/relay for groups joined locally. [here](https://github.com/apache/nuttx/blob/master/net/devif/ipv4_input.c#L379)
- IPv6, multicast packets are just forwarded. [here](https://github.com/apache/nuttx/blob/master/net/devif/ipv6_input.c#L323)
### This issue discusses whether NuttX should evolve toward receiver-aware multicast forwarding
Such a change may involve:
- Control path: introducing IGMP/MLD snooping or similar mechanisms to learn downstream membership
- Data path: adding a multicast forwarding struct and corresponding forwarding logic
- User space: other potential support
From project history I found that NuttX has evolved to supporting multiple netdevs and basic forwarding, extending multicast forwarding may be a reasonable next step.
### On which OS does this issue occur?
[OS: Linux]
### What is the version of your OS?
Ubuntu 24
### NuttX Version
All version
### Issue Architecture
[Arch: all]
### Issue Area
[Area: Networking]
### Host information
_No response_
### Verification
- [x] I have verified before submitting the report.
Contributor guide
Assessment
This issue has not been assessed yet.