diff mbox series

[SRU,F:linux-bluefield] UBUNTU: SAUCE: net/sched: act_mirred: Reset ct when reinserting skb back into queue

Message ID 1625801140-22320-1-git-send-email-bodong@nvidia.com
State New
Headers show
Series [SRU,F:linux-bluefield] UBUNTU: SAUCE: net/sched: act_mirred: Reset ct when reinserting skb back into queue | expand

Commit Message

Bodong Wang July 9, 2021, 3:25 a.m. UTC
From: Roi Dayan <roid@nvidia.com>

BugLink: https://launchpad.net/bugs/1935584

When we reinsert an skb from ingress back into the ingress queue
for reclassification, we start from chain 0 so reset ct.

Signed-off-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Bodong Wang <bodong@nvidia.com>
---
 net/sched/act_mirred.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kleber Sacilotto de Souza July 9, 2021, 8:15 a.m. UTC | #1
On 09.07.21 05:25, Bodong Wang wrote:
> From: Roi Dayan <roid@nvidia.com>
> 
> BugLink: https://launchpad.net/bugs/1935584
> 
> When we reinsert an skb from ingress back into the ingress queue
> for reclassification, we start from chain 0 so reset ct.
> 
> Signed-off-by: Roi Dayan <roid@nvidia.com>
> Signed-off-by: Bodong Wang <bodong@nvidia.com>

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

Thanks

> ---
>   net/sched/act_mirred.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
> index 5ae3e31..6556003 100644
> --- a/net/sched/act_mirred.c
> +++ b/net/sched/act_mirred.c
> @@ -286,6 +286,8 @@ static int tcf_mirred_act(struct sk_buff *skb, const struct tc_action *a,
>   
>   		/* let's the caller reinsert the packet, if possible */
>   		if (use_reinsert) {
> +			if (want_ingress)
> +				nf_reset_ct(skb);
>   			res->ingress = want_ingress;
>   			if (skb_tc_reinsert(skb, res))
>   				tcf_action_inc_overlimit_qstats(&m->common);
>
Tim Gardner July 9, 2021, 11:32 a.m. UTC | #2
Acked-by: Tim Gardner <tim.gardner@canonical.com>

On 7/8/21 9:25 PM, Bodong Wang wrote:
> From: Roi Dayan <roid@nvidia.com>
> 
> BugLink: https://launchpad.net/bugs/1935584
> 
> When we reinsert an skb from ingress back into the ingress queue
> for reclassification, we start from chain 0 so reset ct.
> 
> Signed-off-by: Roi Dayan <roid@nvidia.com>
> Signed-off-by: Bodong Wang <bodong@nvidia.com>
> ---
>   net/sched/act_mirred.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
> index 5ae3e31..6556003 100644
> --- a/net/sched/act_mirred.c
> +++ b/net/sched/act_mirred.c
> @@ -286,6 +286,8 @@ static int tcf_mirred_act(struct sk_buff *skb, const struct tc_action *a,
>   
>   		/* let's the caller reinsert the packet, if possible */
>   		if (use_reinsert) {
> +			if (want_ingress)
> +				nf_reset_ct(skb);
>   			res->ingress = want_ingress;
>   			if (skb_tc_reinsert(skb, res))
>   				tcf_action_inc_overlimit_qstats(&m->common);
>
Stefan Bader July 14, 2021, 8:06 a.m. UTC | #3
On 09.07.21 05:25, Bodong Wang wrote:
> From: Roi Dayan <roid@nvidia.com>
> 
> BugLink: https://launchpad.net/bugs/1935584
> 
> When we reinsert an skb from ingress back into the ingress queue
> for reclassification, we start from chain 0 so reset ct.
> 
> Signed-off-by: Roi Dayan <roid@nvidia.com>
> Signed-off-by: Bodong Wang <bodong@nvidia.com>
> ---

Applied to focal:linux-bluefield/master-next. Thanks.

-Stefan

>   net/sched/act_mirred.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
> index 5ae3e31..6556003 100644
> --- a/net/sched/act_mirred.c
> +++ b/net/sched/act_mirred.c
> @@ -286,6 +286,8 @@ static int tcf_mirred_act(struct sk_buff *skb, const struct tc_action *a,
>   
>   		/* let's the caller reinsert the packet, if possible */
>   		if (use_reinsert) {
> +			if (want_ingress)
> +				nf_reset_ct(skb);
>   			res->ingress = want_ingress;
>   			if (skb_tc_reinsert(skb, res))
>   				tcf_action_inc_overlimit_qstats(&m->common);
>
diff mbox series

Patch

diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
index 5ae3e31..6556003 100644
--- a/net/sched/act_mirred.c
+++ b/net/sched/act_mirred.c
@@ -286,6 +286,8 @@  static int tcf_mirred_act(struct sk_buff *skb, const struct tc_action *a,
 
 		/* let's the caller reinsert the packet, if possible */
 		if (use_reinsert) {
+			if (want_ingress)
+				nf_reset_ct(skb);
 			res->ingress = want_ingress;
 			if (skb_tc_reinsert(skb, res))
 				tcf_action_inc_overlimit_qstats(&m->common);