From 1f6939dae267e163faa591cb67004c237ad10e16 Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Thu, 8 May 2025 10:33:04 +0000 Subject: T7348: Add config CPU thread-count for accel-ppp services Accel-ppp services should not use all CPU cores to process requests. At the moment accel-ppp services use all available CPU cores to process requests from the subscribers (establish/update session/etc). During mass connection of sessions, this can lead to the fact that it utilizes all CPU, and for other services like FRR, there is not enough CPU time to process their own stable work. services: - L2TP - SSTP - PPPoE - IPoE - PPtP Add this option configurable and use all cores if not set: ``` set service pppoe-server thread-count < all | half | x > ``` The defaultValue `all` --- .../include/accel-ppp/thread-count.xml.i | 27 ++++++++++++++++++++++ interface-definitions/service_ipoe-server.xml.in | 1 + interface-definitions/service_pppoe-server.xml.in | 1 + interface-definitions/vpn_l2tp.xml.in | 1 + interface-definitions/vpn_pptp.xml.in | 1 + interface-definitions/vpn_sstp.xml.in | 1 + 6 files changed, 32 insertions(+) create mode 100644 interface-definitions/include/accel-ppp/thread-count.xml.i (limited to 'interface-definitions') diff --git a/interface-definitions/include/accel-ppp/thread-count.xml.i b/interface-definitions/include/accel-ppp/thread-count.xml.i new file mode 100644 index 000000000..84d9224d0 --- /dev/null +++ b/interface-definitions/include/accel-ppp/thread-count.xml.i @@ -0,0 +1,27 @@ + + + + Number of working threads + + all half + + + all + Use all available CPU cores + + + half + Use half of available CPU cores + + + u32:1-512 + Thread count + + + + (all|half) + + + all + + diff --git a/interface-definitions/service_ipoe-server.xml.in b/interface-definitions/service_ipoe-server.xml.in index fe9d32bbd..3093151ea 100644 --- a/interface-definitions/service_ipoe-server.xml.in +++ b/interface-definitions/service_ipoe-server.xml.in @@ -237,6 +237,7 @@ #include #include #include + #include #include #include #include diff --git a/interface-definitions/service_pppoe-server.xml.in b/interface-definitions/service_pppoe-server.xml.in index 32215e9d2..81a4a95e3 100644 --- a/interface-definitions/service_pppoe-server.xml.in +++ b/interface-definitions/service_pppoe-server.xml.in @@ -175,6 +175,7 @@ #include #include + #include #include #include #include diff --git a/interface-definitions/vpn_l2tp.xml.in b/interface-definitions/vpn_l2tp.xml.in index c00e82534..d28f86653 100644 --- a/interface-definitions/vpn_l2tp.xml.in +++ b/interface-definitions/vpn_l2tp.xml.in @@ -137,6 +137,7 @@ #include #include #include + #include #include #include #include diff --git a/interface-definitions/vpn_pptp.xml.in b/interface-definitions/vpn_pptp.xml.in index 8aec0cb1c..3e985486d 100644 --- a/interface-definitions/vpn_pptp.xml.in +++ b/interface-definitions/vpn_pptp.xml.in @@ -53,6 +53,7 @@ #include #include #include + #include #include #include #include diff --git a/interface-definitions/vpn_sstp.xml.in b/interface-definitions/vpn_sstp.xml.in index 5fd5c95ca..851a202dc 100644 --- a/interface-definitions/vpn_sstp.xml.in +++ b/interface-definitions/vpn_sstp.xml.in @@ -50,6 +50,7 @@ #include #include #include + #include #include #include #include -- cgit v1.2.3