From: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> Date: Thu, 22 Aug 2019 21:07:27 +0200 > Current implementation of the SW bridge is setting the interfaces in > promisc mode when they are added to bridge if learning of the frames is > enabled. > In case of Ocelot which has HW capabilities to switch frames, it is not > needed to set the ports in promisc mode because the HW already capable of > doing that. Therefore add NETIF_F_HW_BRIDGE feature to indicate that the > HW has bridge capabilities. Therefore the SW bridge doesn't need to set > the ports in promisc mode to do the switching. > This optimization takes places only if all the interfaces that are part > of the bridge have this flag and have the same network driver. > > If the bridge interfaces is added in promisc mode then also the ports part > of the bridge are set in promisc mode. This doesn't look right at all. The Linux bridge provides a software bridge. By default, all hardware must provide a hardware implementation of that software bridge behavior. Anything that deviates from that behavior has to be explicitly asked for by the user by explicit config commands.