[PATCH] openvswitch: Add recirc_id to recirc warning

Stéphane Graber posted 1 patch 4 years, 2 months ago
net/openvswitch/actions.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] openvswitch: Add recirc_id to recirc warning
Posted by Stéphane Graber 4 years, 2 months ago
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 <frode.nordahl@canonical.com>
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Tested-by: Stephane Graber <stgraber@ubuntu.com>
---
 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

Re: [PATCH] openvswitch: Add recirc_id to recirc warning
Posted by Eelco Chaudron 4 years, 2 months ago

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 <frode.nordahl@canonical.com>
> Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> Tested-by: Stephane Graber <stgraber@ubuntu.com>
> ---

This change looks good to me, and it makes debugging easier.

Acked-by: Eelco Chaudron <echaudro@redhat.com>

>  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