Lines Matching full:lag
1055 struct dsa_lag lag, in qca8k_lag_can_offload() argument
1062 if (!lag.id) in qca8k_lag_can_offload()
1065 dsa_lag_foreach_port(dp, ds->dst, &lag) in qca8k_lag_can_offload()
1066 /* Includes the port joining the LAG */ in qca8k_lag_can_offload()
1071 "Cannot offload more than 4 LAG ports"); in qca8k_lag_can_offload()
1077 "Can only offload LAG using hash TX type"); in qca8k_lag_can_offload()
1092 struct dsa_lag lag, in qca8k_lag_setup_hash() argument
1095 struct net_device *lag_dev = lag.dev; in qca8k_lag_setup_hash()
1114 /* Check if we are the unique configured LAG */ in qca8k_lag_setup_hash()
1116 if (i != lag.id && dsa_lag_by_id(ds->dst, i)) { in qca8k_lag_setup_hash()
1122 * is set to all the 4 possible lag. in qca8k_lag_setup_hash()
1123 * If we are the unique LAG we can set whatever hash in qca8k_lag_setup_hash()
1125 * To change hash mode it's needed to remove all LAG in qca8k_lag_setup_hash()
1131 netdev_err(lag_dev, "Error: Mismatched Hash Mode across different lag is not supported\n"); in qca8k_lag_setup_hash()
1140 struct dsa_lag lag, bool delete) in qca8k_lag_refresh_portmap() argument
1146 /* DSA LAG IDs are one-based, hardware is zero-based */ in qca8k_lag_refresh_portmap()
1147 id = lag.id - 1; in qca8k_lag_refresh_portmap()
1208 int qca8k_port_lag_join(struct dsa_switch *ds, int port, struct dsa_lag lag, in qca8k_port_lag_join() argument
1214 if (!qca8k_lag_can_offload(ds, lag, info, extack)) in qca8k_port_lag_join()
1217 ret = qca8k_lag_setup_hash(ds, lag, info); in qca8k_port_lag_join()
1221 return qca8k_lag_refresh_portmap(ds, port, lag, false); in qca8k_port_lag_join()
1225 struct dsa_lag lag) in qca8k_port_lag_leave() argument
1227 return qca8k_lag_refresh_portmap(ds, port, lag, true); in qca8k_port_lag_leave()