#endif
 }
 
-typedef int tc_setup_cb_t(enum tc_setup_type type,
-                         void *type_data, void *cb_priv);
-
 #ifdef CONFIG_NET_CLS_ACT
 int tc_setup_cb_egdev_register(const struct net_device *dev,
                               tc_setup_cb_t *cb, void *cb_priv);
 
 struct tcf_walker;
 struct module;
 
+typedef int tc_setup_cb_t(enum tc_setup_type type,
+                         void *type_data, void *cb_priv);
+
 struct qdisc_rate_table {
        struct tc_ratespec rate;
        u32             data[256];
                                          bool *last,
                                          struct netlink_ext_ack *);
        void                    (*walk)(struct tcf_proto*, struct tcf_walker *arg);
+       int                     (*reoffload)(struct tcf_proto *tp, bool add,
+                                            tc_setup_cb_t *cb, void *cb_priv,
+                                            struct netlink_ext_ack *extack);
        void                    (*bind_class)(void *, u32, unsigned long);
 
        /* rtnetlink specific */