From: Vinš Karel <hidden> Date: 2021-02-23 13:50:28
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
Thank you.
Regards
Karel Vins
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.
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.
From: Vinš Karel <hidden> Date: 2021-02-25 16:29:37
Hi Eyal,
with kernel 5.10 it work very well. Tested with 10 000 interfaces. Thank you once more.
Regards, Karel
-----Original Message-----
From: Vinš Karel <redacted>
Sent: Wednesday, February 24, 2021 12:02 PM
To: 'Eyal Birger' <redacted>
Cc: netdev@vger.kernel.org
Subject: [External] RE: [External] Re: High (200+) XFRM interface count performance problem (throughput)
.
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.