Message ID | 1605174212-610-1-git-send-email-wenxu@ucloud.cn (mailing list archive) |
---|---|
Headers | show |
Series | net/sched: fix over mtu packet of defrag in | expand |
FWIW, I see the pragmatic need for this and so; cant think of a better way to do this. Patch one could probably go in its own merit. Wenxu, please Cc maintainers in the future - makes it easier to get feedback. Acked-by: Jamal Hadi Salim <jhs@mojatatu.com> cheers, jamal On 2020-11-12 4:43 a.m., wenxu@ucloud.cn wrote: > From: wenxu <wenxu@ucloud.cn> > > Currently kernel tc subsystem can do conntrack in act_ct. But when several > fragment packets go through the act_ct, function tcf_ct_handle_fragments > will defrag the packets to a big one. But the last action will redirect > mirred to a device which maybe lead the reassembly big packet over the mtu > of target device. > > The first patch fix miss init the qdisc_skb_cb->mru > The send one refactor the hanle of xmit in act_mirred and prepare for the > third one > The last one add implict packet fragment support to fix the over mtu for > defrag in act_ct. > > wenxu (3): > net/sched: fix miss init the mru in qdisc_skb_cb > net/sched: act_mirred: refactor the handle of xmit > net/sched: act_frag: add implict packet fragment support. > > include/net/act_api.h | 18 +++++ > include/net/sch_generic.h | 5 -- > net/core/dev.c | 2 + > net/sched/Kconfig | 13 ++++ > net/sched/Makefile | 1 + > net/sched/act_api.c | 44 +++++++++++++ > net/sched/act_ct.c | 7 ++ > net/sched/act_frag.c | 164 ++++++++++++++++++++++++++++++++++++++++++++++ > net/sched/act_mirred.c | 21 ++++-- > 9 files changed, 264 insertions(+), 11 deletions(-) > create mode 100644 net/sched/act_frag.c >
From: wenxu <wenxu@ucloud.cn> Currently kernel tc subsystem can do conntrack in act_ct. But when several fragment packets go through the act_ct, function tcf_ct_handle_fragments will defrag the packets to a big one. But the last action will redirect mirred to a device which maybe lead the reassembly big packet over the mtu of target device. The first patch fix miss init the qdisc_skb_cb->mru The send one refactor the hanle of xmit in act_mirred and prepare for the third one The last one add implict packet fragment support to fix the over mtu for defrag in act_ct. wenxu (3): net/sched: fix miss init the mru in qdisc_skb_cb net/sched: act_mirred: refactor the handle of xmit net/sched: act_frag: add implict packet fragment support. include/net/act_api.h | 18 +++++ include/net/sch_generic.h | 5 -- net/core/dev.c | 2 + net/sched/Kconfig | 13 ++++ net/sched/Makefile | 1 + net/sched/act_api.c | 44 +++++++++++++ net/sched/act_ct.c | 7 ++ net/sched/act_frag.c | 164 ++++++++++++++++++++++++++++++++++++++++++++++ net/sched/act_mirred.c | 21 ++++-- 9 files changed, 264 insertions(+), 11 deletions(-) create mode 100644 net/sched/act_frag.c