Part Number: LINUXSDK-AM35X
Tool/software: Linux
We are using SDK 7, kernel version 3.12. Our boards have 2 interfaces, eth0 and eth1. Our boards are going to be acting as routers so we are setting promiscuity on for each interface. We are using these commands:
ifconfig eth0 promisc
ifconfig eth1 promisc
When the second command is executed an error appears in the system log:
promiscuity not disabled as the other interface is still in promiscuity mode
When looking at the code it appears that this message should only display when you are trying to turn off promiscuity but it is still set on one of the interfaces. But this is not the case here. We are turning it on. Is this a bug? Is this error message something we should be concerned with? The code I am looking at it is in drivers/net/Ethernet/ti/cpsw.c
static void cpsw_set_promiscious(struct net_device *ndev, bool enable)
{
struct cpsw_priv *priv = netdev_priv(ndev);
struct cpsw_ale *ale = priv->ale;
if (priv->data.dual_emac) {
/* Enabling promiscuous mode for one interface will be
* common for both the interface as the interface shares
* the same hardware resource.
*/
if (!enable && ((priv->slaves[0].ndev->flags & IFF_PROMISC) ||
(priv->slaves[1].ndev->flags & IFF_PROMISC))) {
enable = true;
dev_err(&ndev->dev, "promiscuity not disabled as the other interface is still in promiscuity mode\n");
}
if (enable) {
/* Enable Bypass */
cpsw_ale_control_set(ale, 0, ALE_BYPASS, 1);
dev_dbg(&ndev->dev, "promiscuity enabled\n");
} else {