[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180402164708.GD14165@lunn.ch>
Date: Mon, 2 Apr 2018 18:47:08 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Murali Karicheri <m-karicheri2@...com>
Cc: w-kwok2@...com, linux-kernel@...r.kernel.org, davem@...emloft.net,
netdev@...r.kernel.org, nsekhar@...com, grygorii.strashko@...com
Subject: Re: [net-next 2/2] net: netcp: ethss: k2g: add promiscuous mode
support
On Mon, Apr 02, 2018 at 12:17:19PM -0400, Murali Karicheri wrote:
> +static int gbe_set_rx_mode(void *intf_priv, bool promisc)
> +{
> + struct gbe_intf *gbe_intf = intf_priv;
> + struct gbe_priv *gbe_dev = gbe_intf->gbe_dev;
> + struct cpsw_ale *ale = gbe_dev->ale;
> + unsigned long timeout;
> + int i, ret = -ETIMEDOUT;
> +
> + /* Disable(1)/Enable(0) Learn for all ports (host is port 0 and
> + * slaves are port 1 and up
> + */
> + for (i = 0; i <= gbe_dev->num_slaves; i++) {
> + cpsw_ale_control_set(ale, i,
> + ALE_PORT_NOLEARN, !!promisc);
> + cpsw_ale_control_set(ale, i,
> + ALE_PORT_NO_SA_UPDATE, !!promisc);
> + }
Hi Murali
Does this mean that in promisc mode, switching of frames between ports
in hardware is disabled? You are relying on the software bridge to
perform such bridging between ports?
You might want to look at skb->offload_fwd_mark. By setting this, you
can tell the software bridge the hardware has already bridged the
frame. You might then be able to have promisc enabled, and the
hardware still doing the forwarding.
Andrew
Powered by blists - more mailing lists