On 8/23/19 5:39 AM, Horatiu Vultur wrote: > The 08/22/2019 22:08, Andrew Lunn wrote: >> External E-Mail >> >> >>> +/* Determin if the SW bridge can be offloaded to HW. Return true if all >>> + * the interfaces of the bridge have the feature NETIF_F_HW_SWITCHDEV set >>> + * and have the same netdev_ops. >>> + */ >> >> Hi Horatiu >> >> Why do you need these restrictions. The HW bridge should be able to >> learn that a destination MAC address can be reached via the SW >> bridge. The software bridge can then forward it out the correct >> interface. >> >> Or are you saying your hardware cannot learn from frames which come >> from the CPU? >> >> Andrew >> > Hi Andrew, > > I do not believe that our HW can learn from frames which comes from the > CPU, at least not in the way they are injected today. But in case of Ocelot > (and the next chip we are working on), we have other issues in mixing with > foreign interfaces which is why we have the check in > ocelot_netdevice_dev_check. > > More important, as we responded to Nikolay, we properly introduced this > restriction for the wrong reasons. > > In SW bridge I will remove all these restrictions and only set ports in > promisc mode only if NETIF_F_HW_BRIDGE is not set. > Then in the network driver I can see if a foreign interface is added to > the bridge, and when that happens I can set the port in promisc mode. > Then the frames will be flooded to the SW bridge which eventually will > send to the foreign interface. Is that really necessary? Is not the skb->fwd_offload_mark as well as the phys_switch_id supposed to tell that information to the bridge already? -- Florian