daniel-p-carvalho commented on PR #20519: URL: https://github.com/apache/nuttx/pull/20519#issuecomment-6099240860
Thanks @xiaoxiang781216 and @zhhyu7, that makes sense. I will restructure this PR as a lowerhalf bridge, following the VLAN design: 1. **PIC32MZ Ethernet driver -> `netdev_lowerhalf_s`** in a separate PR (it is the main use case here: Ethernet <-> Wi-Fi). It is done and tested on the board: 0% loss on 1000 pings, TCP 27.5 / 51.7 Mbit/s (host->board / board->host, same as the legacy driver), UDP 95M flood survives, and `ifdown`/`ifup` cycles under load recover. I will open it shortly. 2. **Bridge as a lowerhalf driver** in `drivers/net/bridge`: `br0` registered with `netdev_lower_register()`, `transmit` looks up the FDB and sends through the port's `ops->transmit()`, the ports are taken in the upper half RX path. This drops the `BRIDGE_POLL` event in devif and the hooks in `ipv4_input`/`ipv6_input`/`arp_input`. 3. `SIOCBRADDIF` will refuse a port that is not a lowerhalf device, and the docs will say that legacy drivers are not supported. This PR will be updated once (1) is reviewed, since the bridge depends on it for the hardware test. I will keep it as is until then. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
