Lines Matching defs:mdata

53 mlx5e_lookup_rep_bond_slave_entry(struct mlx5e_rep_bond_metadata *mdata,
59 list_for_each_entry(cur, &mdata->slaves_list, list) {
69 static void mlx5e_rep_bond_metadata_release(struct mlx5e_rep_bond_metadata *mdata)
71 netdev_dbg(mdata->lag_dev, "destroy rep_bond_metadata(%d)\n",
72 mdata->metadata_reg_c_0);
73 list_del(&mdata->list);
74 mlx5_esw_match_metadata_free(mdata->esw, mdata->metadata_reg_c_0);
75 WARN_ON(!list_empty(&mdata->slaves_list));
76 kfree(mdata);
84 struct mlx5e_rep_bond_metadata *mdata;
92 mdata = mlx5e_lookup_rep_bond_metadata(&rpriv->uplink_priv, lag_dev);
93 if (!mdata) {
95 mdata = kzalloc(sizeof(*mdata), GFP_KERNEL);
96 if (!mdata)
99 mdata->lag_dev = lag_dev;
100 mdata->esw = esw;
101 INIT_LIST_HEAD(&mdata->slaves_list);
102 mdata->metadata_reg_c_0 = mlx5_esw_match_metadata_alloc(esw);
103 if (!mdata->metadata_reg_c_0) {
104 kfree(mdata);
107 list_add(&mdata->list, &rpriv->uplink_priv.bond->metadata_list);
110 mdata->metadata_reg_c_0);
124 mdata->metadata_reg_c_0);
128 mdata->slaves++;
129 list_add_tail(&s_entry->list, &mdata->slaves_list);
131 rpriv->rep->vport, lag_dev->name, mdata->metadata_reg_c_0);
138 if (!mdata->slaves)
139 mlx5e_rep_bond_metadata_release(mdata);
149 struct mlx5e_rep_bond_metadata *mdata;
156 mdata = mlx5e_lookup_rep_bond_metadata(&rpriv->uplink_priv, lag_dev);
157 if (!mdata)
160 s_entry = mlx5e_lookup_rep_bond_slave_entry(mdata, netdev);
177 rpriv->rep->vport, lag_dev->name, mdata->metadata_reg_c_0);
179 if (--mdata->slaves == 0)
180 mlx5e_rep_bond_metadata_release(mdata);