[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a49ed340-3f92-8533-3efb-ac7ee2231ca3@gmail.com>
Date: Wed, 28 Apr 2021 20:03:23 -0600
From: David Ahern <dsahern@...il.com>
To: Andrea Mayer <andrea.mayer@...roma2.it>,
"David S. Miller" <davem@...emloft.net>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
David Ahern <dsahern@...nel.org>,
Jakub Kicinski <kuba@...nel.org>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
Cc: Stefano Salsano <stefano.salsano@...roma2.it>,
Paolo Lungaroni <paolo.lungaroni@...roma2.it>,
Ahmed Abdelsalam <ahabdels.dev@...il.com>
Subject: Re: [net-next] seg6: add counters support for SRv6 Behaviors
On 4/27/21 9:44 AM, Andrea Mayer wrote:
> This patch provides counters for SRv6 Behaviors as defined in [1],
> section 6. For each SRv6 Behavior instance, counters defined in [1] are:
>
> - the total number of packets that have been correctly processed;
> - the total amount of traffic in bytes of all packets that have been
> correctly processed;
>
...
>
> Results of tests are shown in the following table:
>
> Scenario (1): average 1504764,81 pps (~1504,76 kpps); std. dev 3956,82 pps
> Scenario (2): average 1501469,78 pps (~1501,47 kpps); std. dev 2979,85 pps
> Scenario (3): average 1501315,13 pps (~1501,32 kpps); std. dev 2956,00 pps
>
> As can be observed, throughputs achieved in scenarios (2),(3) did not
> suffer any observable degradation compared to scenario (1).
>
> Thanks to Jakub Kicinski and David Ahern for their valuable suggestions
> and comments provided during the discussion of the proposed RFCs.
>
> [2] https://www.cloudlab.us
>
> Signed-off-by: Andrea Mayer <andrea.mayer@...roma2.it>
> ---
> include/uapi/linux/seg6_local.h | 30 +++++
> net/ipv6/seg6_local.c | 198 +++++++++++++++++++++++++++++++-
> 2 files changed, 226 insertions(+), 2 deletions(-)
Thanks for the detailed commit message and stats on performance impact.
> @@ -977,7 +1044,14 @@ static int seg6_local_input(struct sk_buff *skb)
> slwt = seg6_local_lwtunnel(orig_dst->lwtstate);
> desc = slwt->desc;
>
> - return desc->input(skb, slwt);
> + rc = desc->input(skb, slwt);
> +
> + if (!seg6_lwtunnel_counters_enabled(slwt))
> + return rc;
> +
> + seg6_local_update_counters(slwt, len, rc);
> +
> + return rc;
Nit: This would be simpler as
if (seg6_lwtunnel_counters_enabled(slwt))
seg6_local_update_counters(slwt, len, rc);
return rc;
but not worth a re-do since net-next is about to close, so:
Reviewed-by: David Ahern <dsahern@...nel.org>
Powered by blists - more mailing lists