Skip to content

Commit

Permalink
realtek: cleanup LAG logging
Browse files Browse the repository at this point in the history
Setting up DSA bond silently fails if mode is not 802.3ad. Add log message
to fix it. As we are already here harmonize all logging messages in the
add/delete functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
  • Loading branch information
Markus Stockhausen authored and svanheule committed Jun 26, 2022
1 parent 6d49a25 commit 78b7be9
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/common.c
Expand Up @@ -431,17 +431,19 @@ int rtl83xx_lag_add(struct dsa_switch *ds, int group, int port, struct netdev_la
int i;
u32 algomsk = 0;
u32 algoidx = 0;

if (info->tx_type != NETDEV_LAG_TX_TYPE_HASH) {
pr_err("%s: Only mode LACP 802.3ad (4) allowed.\n", __func__);
return -EINVAL;
}
pr_info("%s: Adding port %d to LA-group %d\n", __func__, port, group);

if (group >= priv->n_lags) {
pr_err("Link Agrregation group too large.\n");
pr_err("%s: LAG %d invalid.\n", __func__, group);
return -EINVAL;
}

if (port >= priv->cpu_port) {
pr_err("Invalid port number.\n");
pr_err("%s: Port %d invalid.\n", __func__, port);
return -EINVAL;
}

Expand All @@ -450,7 +452,7 @@ int rtl83xx_lag_add(struct dsa_switch *ds, int group, int port, struct netdev_la
break;
}
if (i != priv->n_lags) {
pr_err("%s: Port already member of LAG: %d\n", __func__, i);
pr_err("%s: Port %d already member of LAG %d.\n", __func__, port, i);
return -ENOSPC;
}
switch(info->hash_type) {
Expand Down Expand Up @@ -479,7 +481,8 @@ int rtl83xx_lag_add(struct dsa_switch *ds, int group, int port, struct netdev_la
priv->r->mask_port_reg_be(0, BIT_ULL(port), priv->r->trk_mbr_ctr(group));
priv->lags_port_members[group] |= BIT_ULL(port);

pr_debug("lags_port_members %d now %016llx\n", group, priv->lags_port_members[group]);
pr_info("%s: Added port %d to LAG %d. Members now %016llx.\n",
__func__, port, group, priv->lags_port_members[group]);
return 0;
}

Expand All @@ -488,28 +491,27 @@ int rtl83xx_lag_del(struct dsa_switch *ds, int group, int port)
{
struct rtl838x_switch_priv *priv = ds->priv;

pr_info("%s: Removing port %d from LA-group %d\n", __func__, port, group);

if (group >= priv->n_lags) {
pr_err("Link Agrregation group too large.\n");
pr_err("%s: LAG %d invalid.\n", __func__, group);
return -EINVAL;
}

if (port >= priv->cpu_port) {
pr_err("Invalid port number.\n");
pr_err("%s: Port %d invalid.\n", __func__, port);
return -EINVAL;
}


if (!(priv->lags_port_members[group] & BIT_ULL(port))) {
pr_err("%s: Port not member of LAG: %d\n", __func__, group);
pr_err("%s: Port %d not member of LAG %d.\n", __func__, port, group);
return -ENOSPC;
}

// 0x7f algo mask all
priv->r->mask_port_reg_be(BIT_ULL(port), 0, priv->r->trk_mbr_ctr(group));
priv->lags_port_members[group] &= ~BIT_ULL(port);

pr_info("lags_port_members %d now %016llx\n", group, priv->lags_port_members[group]);
pr_info("%s: Removed port %d from LAG %d. Members now %016llx.\n",
__func__, port, group, priv->lags_port_members[group]);
return 0;
}

Expand Down

0 comments on commit 78b7be9

Please sign in to comment.