I’m trying to use the Ethernet ports of my Banana Pi BPI-R2 in promiscuous mode to receive frames that are not destined for a MAC address that is not assigned to any of the five ports and also not a mulitcast address. I am using a Linux 4.14 kernel (based on https://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:kernel), so I actually have 6 interfaces show up (eth0, lan0-lan3@eth0 and wan@eth0). I’ve tried setting eth0 and/or the lan0-3 explicitly to promiscuous (using ip command), writing my own raw socket application as well as using standard tools like ‘tcpdump’. Wireshark/tcpdump on the other machine sending the frame definitively show an outgoing frame, and if the frame is destined to the “correct” MAC, it does show up on the tcpdump running on the R2. However, if I send a frame to another MAC, I get no traffic in userspace despite my various attempts to enable promiscuous mode.
Any suggestions? I really need to get promiscuous mode working, as I must use the BPI as a switch and not as a router.