int (*check_params)(struct mlxsw_sp_port *mlxsw_sp_port,
                            struct mlxsw_sp_qdisc *mlxsw_sp_qdisc,
                            void *params);
-       int (*replace)(struct mlxsw_sp_port *mlxsw_sp_port,
+       int (*replace)(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
                       struct mlxsw_sp_qdisc *mlxsw_sp_qdisc, void *params);
        int (*destroy)(struct mlxsw_sp_port *mlxsw_sp_port,
                       struct mlxsw_sp_qdisc *mlxsw_sp_qdisc);
        if (err)
                goto err_bad_param;
 
-       err = ops->replace(mlxsw_sp_port, mlxsw_sp_qdisc, params);
+       err = ops->replace(mlxsw_sp_port, handle, mlxsw_sp_qdisc, params);
        if (err)
                goto err_config;
 
 }
 
 static int
-mlxsw_sp_qdisc_red_replace(struct mlxsw_sp_port *mlxsw_sp_port,
+mlxsw_sp_qdisc_red_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
                           struct mlxsw_sp_qdisc *mlxsw_sp_qdisc,
                           void *params)
 {
 }
 
 static int
-mlxsw_sp_qdisc_tbf_replace(struct mlxsw_sp_port *mlxsw_sp_port,
+mlxsw_sp_qdisc_tbf_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
                           struct mlxsw_sp_qdisc *mlxsw_sp_qdisc,
                           void *params)
 {
 }
 
 static int
-__mlxsw_sp_qdisc_ets_replace(struct mlxsw_sp_port *mlxsw_sp_port,
+__mlxsw_sp_qdisc_ets_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
                             unsigned int nbands,
                             const unsigned int *quanta,
                             const unsigned int *weights,
 }
 
 static int
-mlxsw_sp_qdisc_prio_replace(struct mlxsw_sp_port *mlxsw_sp_port,
+mlxsw_sp_qdisc_prio_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
                            struct mlxsw_sp_qdisc *mlxsw_sp_qdisc,
                            void *params)
 {
        struct tc_prio_qopt_offload_params *p = params;
        unsigned int zeroes[TCQ_ETS_MAX_BANDS] = {0};
 
-       return __mlxsw_sp_qdisc_ets_replace(mlxsw_sp_port, p->bands,
+       return __mlxsw_sp_qdisc_ets_replace(mlxsw_sp_port, handle, p->bands,
                                            zeroes, zeroes, p->priomap);
 }
 
 }
 
 static int
-mlxsw_sp_qdisc_ets_replace(struct mlxsw_sp_port *mlxsw_sp_port,
+mlxsw_sp_qdisc_ets_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
                           struct mlxsw_sp_qdisc *mlxsw_sp_qdisc,
                           void *params)
 {
        struct tc_ets_qopt_offload_replace_params *p = params;
 
-       return __mlxsw_sp_qdisc_ets_replace(mlxsw_sp_port, p->bands,
+       return __mlxsw_sp_qdisc_ets_replace(mlxsw_sp_port, handle, p->bands,
                                            p->quanta, p->weights, p->priomap);
 }