[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c5421bec-7887-bb87-dbd8-b9399f14db95@mellanox.com>
Date: Thu, 30 Apr 2020 14:17:59 +0300
From: Roi Dayan <roid@...lanox.com>
To: xiangxia.m.yue@...il.com, paulb@...lanox.com, saeedm@...lanox.com,
gerlitz.or@...il.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net-next 2/3] net/mlx5e: Introduce
mlx5e_eswitch_rep_uplink_priv helper
On 2020-04-28 8:24 AM, xiangxia.m.yue@...il.com wrote:
> From: Tonghao Zhang <xiangxia.m.yue@...il.com>
>
> Introduce the mlx5e_eswitch_rep_uplink_priv helper
> to make the codes readable.
>
> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@...il.com>
> ---
> drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 4 +--
> drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 9 +++++++
> drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 30 +++++-----------------
> 3 files changed, 17 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
> index 16416eaac39e..c5d5e69ff147 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
> @@ -100,10 +100,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_eswitch_rep_uplink_priv(esw);
> return uplink_priv->ct_priv;
> }
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h
> index 6a2337900420..899ffa0872b7 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h
> @@ -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_eswitch_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;
> +}
> +
since its in en_rep.h, please use "mlx5e_rep_" prefix.
thanks
> struct mlx5e_neigh {
> struct net_device *dev;
> union {
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> index 64f5c3f3dbb3..696544e2a25b 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> @@ -1250,12 +1250,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_eswitch_rep_uplink_priv(esw);
>
> mutex_lock(&uplink_priv->unready_flows_lock);
> unready_flow_add(flow, &uplink_priv->unready_flows);
> @@ -1265,12 +1263,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_eswitch_rep_uplink_priv(esw);
>
> mutex_lock(&uplink_priv->unready_flows_lock);
> unready_flow_del(flow);
> @@ -1888,7 +1884,6 @@ static int mlx5e_get_flow_tunnel_id(struct mlx5e_priv *priv,
> struct mlx5e_tc_mod_hdr_acts *mod_hdr_acts;
> struct flow_match_enc_opts enc_opts_match;
> 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;
> @@ -1897,8 +1892,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_eswitch_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);
> @@ -1957,13 +1951,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_eswitch_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);
> @@ -1974,12 +1966,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_eswitch_rep_uplink_priv(esw);
>
> if (tun_id)
> mapping_remove(uplink_priv->tunnel_mapping, tun_id);
> @@ -4841,7 +4831,6 @@ static bool mlx5e_restore_tunnel(struct mlx5e_priv *priv, struct sk_buff *skb,
> struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;
> struct flow_dissector_key_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;
> @@ -4854,9 +4843,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_eswitch_rep_uplink_priv(esw);
> err = mapping_find(uplink_priv->tunnel_mapping, tun_id, &key);
> if (err) {
> WARN_ON_ONCE(true);
> @@ -4920,7 +4907,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;
> @@ -4956,9 +4942,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_eswitch_rep_uplink_priv(esw);
> if (!mlx5e_tc_ct_restore_flow(uplink_priv, skb, tuple_id))
> return false;
> }
>
Powered by blists - more mailing lists