Lines Matching defs:fdb
112 static int qca8k_fdb_read(struct qca8k_priv *priv, struct qca8k_fdb *fdb)
124 fdb->vid = FIELD_GET(QCA8K_ATU_VID_MASK, reg[2]);
126 fdb->aging = FIELD_GET(QCA8K_ATU_STATUS_MASK, reg[2]);
128 fdb->port_mask = FIELD_GET(QCA8K_ATU_PORT_MASK, reg[1]);
130 fdb->mac[0] = FIELD_GET(QCA8K_ATU_ADDR0_MASK, reg[1]);
131 fdb->mac[1] = FIELD_GET(QCA8K_ATU_ADDR1_MASK, reg[1]);
132 fdb->mac[2] = FIELD_GET(QCA8K_ATU_ADDR2_MASK, reg[0]);
133 fdb->mac[3] = FIELD_GET(QCA8K_ATU_ADDR3_MASK, reg[0]);
134 fdb->mac[4] = FIELD_GET(QCA8K_ATU_ADDR4_MASK, reg[0]);
135 fdb->mac[5] = FIELD_GET(QCA8K_ATU_ADDR5_MASK, reg[0]);
200 static int qca8k_fdb_next(struct qca8k_priv *priv, struct qca8k_fdb *fdb,
205 qca8k_fdb_write(priv, fdb->vid, fdb->port_mask, fdb->mac, fdb->aging);
210 return qca8k_fdb_read(priv, fdb);
249 struct qca8k_fdb fdb = { 0 };
259 ret = qca8k_fdb_read(priv, &fdb);
264 if (fdb.aging) {
269 fdb.aging = aging;
272 /* Add port to fdb portmask */
273 fdb.port_mask |= port_mask;
275 qca8k_fdb_write(priv, vid, fdb.port_mask, mac, fdb.aging);
286 struct qca8k_fdb fdb = { 0 };
296 ret = qca8k_fdb_read(priv, &fdb);
301 if (!fdb.aging) {
311 if (fdb.port_mask == port_mask)
315 fdb.port_mask &= ~port_mask;
317 qca8k_fdb_write(priv, vid, fdb.port_mask, mac, fdb.aging);