On Thu, 29 Aug 2019 14:44:14 +0200
Horatiu Vultur <horatiu.vul...@microchip.com> wrote:

> When a port is added to a bridge, then the port gets in promisc mode.
> But in our case the HW has bridge capabilities so it is not required
> to set the port in promisc mode.
> But if someone else requires the port to be in promisc mode (tcpdump
> or any other application) then I would like to set the port in promisc
> mode.
> In previous emails Andrew came with the suggestion to look at
> dev->promiscuity and check if the port is a bridge port. Using this
> information I could see when to add the port in promisc mode. He also
> suggested to add a new switchdev call(maybe I missunderstood him, or I
> have done it at the wrong place) in case there are no callbacks in the
> driver to get this information.

I would use the 1st suggestion.

for/in your driver:
if (dev->promiscuity > 0) {
        if (dev->promiscuity == 1 && netif_is_bridge_port(dev)) {
                /* no need to set promisc mode because promiscuity
                 * was requested by bridge
                 */
                ...
        } else {
                /* need to set promisc mode as someone else requested
                 * promiscuity
                 */
        }
}

Thanks,
Ivan

Reply via email to