@@ -99,10 +99,8 @@ struct mlx5_ct_entry {
{
struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *uplink_rpriv;
- uplink_rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &uplink_rpriv->uplink_priv;
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
return uplink_priv->ct_priv;
}
@@ -109,6 +109,15 @@ struct mlx5e_rep_priv *mlx5e_rep_to_rep_priv(struct mlx5_eswitch_rep *rep)
return rep->rep_data[REP_ETH].priv;
}
+static inline struct mlx5_rep_uplink_priv *
+mlx5e_rep_uplink_priv(struct mlx5_eswitch *esw)
+{
+ struct mlx5e_rep_priv *priv;
+
+ priv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
+ return &priv->uplink_priv;
+}
+
struct mlx5e_neigh {
struct net_device *dev;
union {
@@ -1255,12 +1255,10 @@ static void unready_flow_del(struct mlx5e_tc_flow *flow)
static void add_unready_flow(struct mlx5e_tc_flow *flow)
{
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *rpriv;
struct mlx5_eswitch *esw;
esw = flow->priv->mdev->priv.eswitch;
- rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &rpriv->uplink_priv;
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
mutex_lock(&uplink_priv->unready_flows_lock);
unready_flow_add(flow, &uplink_priv->unready_flows);
@@ -1270,12 +1268,10 @@ static void add_unready_flow(struct mlx5e_tc_flow *flow)
static void remove_unready_flow(struct mlx5e_tc_flow *flow)
{
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *rpriv;
struct mlx5_eswitch *esw;
esw = flow->priv->mdev->priv.eswitch;
- rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &rpriv->uplink_priv;
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
mutex_lock(&uplink_priv->unready_flows_lock);
unready_flow_del(flow);
@@ -1892,7 +1888,6 @@ static int mlx5e_get_flow_tunnel_id(struct mlx5e_priv *priv,
struct flow_match_enc_opts enc_opts_match;
struct tunnel_match_enc_opts tun_enc_opts;
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *uplink_rpriv;
struct tunnel_match_key tunnel_key;
bool enc_opts_is_dont_care = true;
u32 tun_id, enc_opts_id = 0;
@@ -1901,8 +1896,7 @@ static int mlx5e_get_flow_tunnel_id(struct mlx5e_priv *priv,
int err;
esw = priv->mdev->priv.eswitch;
- uplink_rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &uplink_rpriv->uplink_priv;
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
mlx5e_make_tunnel_match_key(f, filter_dev, &tunnel_key);
err = mapping_add(uplink_priv->tunnel_mapping, &tunnel_key, &tun_id);
@@ -1967,13 +1961,11 @@ static int mlx5e_lookup_flow_tunnel_id(struct mlx5e_priv *priv,
u32 *tun_id)
{
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *uplink_rpriv;
struct tunnel_match_key tunnel_key;
struct mlx5_eswitch *esw;
esw = priv->mdev->priv.eswitch;
- uplink_rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &uplink_rpriv->uplink_priv;
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
mlx5e_make_tunnel_match_key(f, filter_dev, &tunnel_key);
return mapping_find_by_data(uplink_priv->tunnel_mapping, &tunnel_key, tun_id);
@@ -1984,12 +1976,10 @@ static void mlx5e_put_flow_tunnel_id(struct mlx5e_tc_flow *flow)
u32 enc_opts_id = flow->tunnel_id & ENC_OPTS_BITS_MASK;
u32 tun_id = flow->tunnel_id >> ENC_OPTS_BITS;
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *uplink_rpriv;
struct mlx5_eswitch *esw;
esw = flow->priv->mdev->priv.eswitch;
- uplink_rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &uplink_rpriv->uplink_priv;
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
if (tun_id)
mapping_remove(uplink_priv->tunnel_mapping, tun_id);
@@ -4853,7 +4843,6 @@ static bool mlx5e_restore_tunnel(struct mlx5e_priv *priv, struct sk_buff *skb,
struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;
struct tunnel_match_enc_opts enc_opts = {};
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *uplink_rpriv;
struct metadata_dst *tun_dst;
struct tunnel_match_key key;
u32 tun_id, enc_opts_id;
@@ -4866,9 +4855,7 @@ static bool mlx5e_restore_tunnel(struct mlx5e_priv *priv, struct sk_buff *skb,
if (!tun_id)
return true;
- uplink_rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &uplink_rpriv->uplink_priv;
-
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
err = mapping_find(uplink_priv->tunnel_mapping, tun_id, &key);
if (err) {
WARN_ON_ONCE(true);
@@ -4934,7 +4921,6 @@ bool mlx5e_tc_rep_update_skb(struct mlx5_cqe64 *cqe,
#if IS_ENABLED(CONFIG_NET_TC_SKB_EXT)
u32 chain = 0, reg_c0, reg_c1, tunnel_id, tuple_id;
struct mlx5_rep_uplink_priv *uplink_priv;
- struct mlx5e_rep_priv *uplink_rpriv;
struct tc_skb_ext *tc_skb_ext;
struct mlx5_eswitch *esw;
struct mlx5e_priv *priv;
@@ -4970,9 +4956,7 @@ bool mlx5e_tc_rep_update_skb(struct mlx5_cqe64 *cqe,
tc_skb_ext->chain = chain;
tuple_id = reg_c1 & TUPLE_ID_MAX;
-
- uplink_rpriv = mlx5_eswitch_get_uplink_priv(esw, REP_ETH);
- uplink_priv = &uplink_rpriv->uplink_priv;
+ uplink_priv = mlx5e_rep_uplink_priv(esw);
if (!mlx5e_tc_ct_restore_flow(uplink_priv, skb, tuple_id))
return false;
}