return TC_ACT_SHOT;
 }
 
+static void tcf_skbedit_stats_update(struct tc_action *a, u64 bytes,
+                                    u32 packets, u64 lastuse, bool hw)
+{
+       struct tcf_skbedit *d = to_skbedit(a);
+       struct tcf_t *tm = &d->tcf_tm;
+
+       tcf_action_update_stats(a, bytes, packets, false, hw);
+       tm->lastuse = max_t(u64, tm->lastuse, lastuse);
+}
+
 static const struct nla_policy skbedit_policy[TCA_SKBEDIT_MAX + 1] = {
        [TCA_SKBEDIT_PARMS]             = { .len = sizeof(struct tc_skbedit) },
        [TCA_SKBEDIT_PRIORITY]          = { .len = sizeof(u32) },
        .id             =       TCA_ID_SKBEDIT,
        .owner          =       THIS_MODULE,
        .act            =       tcf_skbedit_act,
+       .stats_update   =       tcf_skbedit_stats_update,
        .dump           =       tcf_skbedit_dump,
        .init           =       tcf_skbedit_init,
        .cleanup        =       tcf_skbedit_cleanup,