mbox series

[v11,net-next,0/3] net/sched: fix over mtu packet of defrag in

Message ID 1605174212-610-1-git-send-email-wenxu@ucloud.cn
Headers show
Series net/sched: fix over mtu packet of defrag in | expand

Message

wenxu Nov. 12, 2020, 9:43 a.m. UTC
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

Comments

Jamal Hadi Salim Nov. 14, 2020, 2:54 p.m. UTC | #1
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
>