RE: [External] Re: High (200+) XFRM interface count performance problem (throughput)
From: Vinš Karel <hidden>
Date: 2021-02-24 11:03:50
Hi Eyal, thank you for response. I found that commit with your comment during the night. I will test it. Do you think that there is a chance to backport this to 5.4 as it is LTS kernel? Regards, Karel -----Original Message----- From: Eyal Birger <redacted> Sent: Wednesday, February 24, 2021 9:15 AM To: Vinš Karel <redacted> Cc: netdev@vger.kernel.org Subject: [External] Re: High (200+) XFRM interface count performance problem (throughput) . Hi Vinš, On Tue, Feb 23, 2021 at 9:52 PM Vinš Karel [off-list ref] wrote:
Hello,
I would like to ask you for help or advise.
I'm testing setup with higher number of XFRM interfaces and I'm facing throughput degradation with a growing number of created XFRM interfaces - not concurrent tunnels established but only XFRM interfaces created - even in DOWN state.
Issue is only unidirectional - from "client" to "vpn hub". Throughput for traffic from hub to client is not affected.
XFRM interface created with:
for i in {1..500}; do link add ipsec$i type xfrm dev ens224 if_id $i
; done
I'm testing with iperf3 with 1 client connected - from client to hub:
2 interfaces - 1.36 Gbps
100 interfaces - 1.35 Gbps
200 interfaces - 1.19 Gbps
300 interfaces - 0.98 Gbps
500 interfaces - 0.71 Gbps
Throughput from hub to client is around 1.4 Gbps in all cases.
1 CPU core is 100%
Linux v-hub 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC
2021 x86_64 x86_64 x86_64 GNU/Linux
Can you please try with a higher kernel version (>= 5.9)?
We've done some work to improve xfrm interface scaling specifically e98e44562ba2 ("xfrm interface: store xfrmi contexts in a hash by if_id").
Thanks,
Eyal.