When hitting the recirculation limit, the kernel would currently log
something like this:
[ 58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action
Which isn't all that useful to debug as we only have the interface name
to go on but can't track it down to a specific flow.
With this change, we now instead get:
[ 58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action (recirc_id=0x9e)
Which can now be correlated with the flow entries from OVS.
Suggested-by: Frode Nordahl <[email protected]>
Signed-off-by: Stéphane Graber <[email protected]>
Tested-by: Stephane Graber <[email protected]>
---
net/openvswitch/actions.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
index 780d9e2246f3..7056cb1b8ba0 100644
--- a/net/openvswitch/actions.c
+++ b/net/openvswitch/actions.c
@@ -1539,8 +1539,8 @@ static int clone_execute(struct datapath *dp, struct sk_buff *skb,
pr_warn("%s: deferred action limit reached, drop sample action\n",
ovs_dp_name(dp));
} else { /* Recirc action */
- pr_warn("%s: deferred action limit reached, drop recirc action\n",
- ovs_dp_name(dp));
+ pr_warn("%s: deferred action limit reached, drop recirc action (recirc_id=%#x)\n",
+ ovs_dp_name(dp), recirc_id);
}
}
}
--
2.34.1
On 30 Mar 2022, at 21:42, Stéphane Graber wrote:
> When hitting the recirculation limit, the kernel would currently log
> something like this:
>
> [ 58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action
>
> Which isn't all that useful to debug as we only have the interface name
> to go on but can't track it down to a specific flow.
>
> With this change, we now instead get:
>
> [ 58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action (recirc_id=0x9e)
>
> Which can now be correlated with the flow entries from OVS.
>
> Suggested-by: Frode Nordahl <[email protected]>
> Signed-off-by: Stéphane Graber <[email protected]>
> Tested-by: Stephane Graber <[email protected]>
> ---
This change looks good to me, and it makes debugging easier.
Acked-by: Eelco Chaudron <[email protected]>
> net/openvswitch/actions.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
> index 780d9e2246f3..7056cb1b8ba0 100644
> --- a/net/openvswitch/actions.c
> +++ b/net/openvswitch/actions.c
> @@ -1539,8 +1539,8 @@ static int clone_execute(struct datapath *dp, struct sk_buff *skb,
> pr_warn("%s: deferred action limit reached, drop sample action\n",
> ovs_dp_name(dp));
> } else { /* Recirc action */
> - pr_warn("%s: deferred action limit reached, drop recirc action\n",
> - ovs_dp_name(dp));
> + pr_warn("%s: deferred action limit reached, drop recirc action (recirc_id=%#x)\n",
> + ovs_dp_name(dp), recirc_id);
> }
> }
> }
> --
> 2.34.1
Hello:
This patch was applied to netdev/net.git (master)
by Jakub Kicinski <[email protected]>:
On Wed, 30 Mar 2022 15:42:45 -0400 you wrote:
> When hitting the recirculation limit, the kernel would currently log
> something like this:
>
> [ 58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action
>
> Which isn't all that useful to debug as we only have the interface name
> to go on but can't track it down to a specific flow.
>
> [...]
Here is the summary with links:
- openvswitch: Add recirc_id to recirc warning
https://git.kernel.org/netdev/net/c/ea07af2e71cd
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html