On Wed, Nov 11, 2020 at 9:44 PM <we...@ucloud.cn> wrote: > diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c > index 9c79fb9..dff3c40 100644 > --- a/net/sched/act_ct.c > +++ b/net/sched/act_ct.c > @@ -1541,8 +1541,14 @@ static int __init ct_init_module(void) > if (err) > goto err_register; > > + err = tcf_set_xmit_hook(tcf_frag_xmit_hook);
Yeah, this approach is certainly much better than extending act_mirred. Just one comment below. > diff --git a/net/sched/act_frag.c b/net/sched/act_frag.c > new file mode 100644 > index 0000000..3a7ab92 > --- /dev/null > +++ b/net/sched/act_frag.c It is kinda confusing to see this is a module. It provides some wrappers and hooks the dev_xmit_queue(), it belongs more to the core tc code than any modularized code. How about putting this into net/sched/sch_generic.c? Thanks.