38 Network Parameters #
Network tuning is essential for achieving optimal performance in telco workloads. The performance-settings.sh script includes a configure_network_tuning function that sets various kernel network parameters to optimize buffer sizes, packet processing, and UDP performance.
The network tuning values provided are examples that have been tested and validated. However, they should be adapted to your specific use case, workload requirements, and hardware configuration.
The following network parameters are configured by the script:
38.1 Core Network Parameters #
net.core.rmem_max(1342177280 bytes): Maximum receive socket buffer size. This parameter sets the maximum amount of memory that can be allocated for receiving data on any socket.net.core.wmem_max(516777216 bytes): Maximum send socket buffer size. This parameter sets the maximum amount of memory that can be allocated for sending data on any socket.net.core.rmem_default(10000000 bytes): Default receive socket buffer size. This is the initial buffer size for receiving data on new sockets.net.core.wmem_default(10000000 bytes): Default send socket buffer size. This is the initial buffer size for sending data on new sockets.net.core.netdev_max_backlog(416384 packets): Maximum number of packets queued on the input side when the interface receives packets faster than the kernel can process them. Increasing this value helps prevent packet drops during traffic bursts.net.core.optmem_max(25165824 bytes): Maximum ancillary buffer size allowed per socket. This affects the size of option memory buffers.net.core.netdev_budget(1024 packets): Maximum number of packets that can be processed in one softirq run. This helps control CPU utilization during packet processing.
38.2 UDP-Specific Parameters #
net.ipv4.udp_mem(11416320 15221760 22832640 pages): Controls the amount of memory (in pages) used by UDP. The three values represent:Minimum threshold: Below this, UDP is not pressured
Pressure threshold: UDP starts applying memory pressure
Maximum threshold: Maximum pages of memory for UDP
net.ipv4.udp_rmem_min(16384 bytes): Minimum receive buffer size for UDP sockets. Ensures a baseline buffer size for UDP reception.net.ipv4.udp_wmem_min(16384 bytes): Minimum send buffer size for UDP sockets. Ensures a baseline buffer size for UDP transmission.
38.3 Real-Time Scheduling #
kernel.sched_rt_runtime_us(-1): Disables the real-time throttling mechanism. Setting this to -1 allows real-time tasks unlimited CPU time, which is essential for telco workloads requiring deterministic latency.
These parameters are automatically configured when using the performance-settings.sh script from the SUSE Telco Cloud Examples repository. The script should be integrated into your image build process as described in the Automated Provisioning (Part VII, “Fully automated directed network provisioning”) section.