Option

This chapter describe the possibilities of advanced system behavior.

General

set system option ctrl-alt-delete <ignore | reboot | poweroff>

Action which will be run once the ctrl-alt-del keystroke is received.

set system option reboot-on-panic

Automatically reboot system on kernel panic after 60 seconds.

set system option startup-beep

Play an audible beep to the system speaker when system is ready.

set system option root-partition-auto-resize

Enables the root partition auto-extension and resizes to the maximum available space on system boot.

Kernel

set system option kernel disable-mitigations

Disable all optional CPU mitigations. This improves system performance, but it may also expose users to several CPU vulnerabilities.

This will add the following option to the Kernel commandline:

  • mitigations=off

Note

Setting will only become active with the next reboot!

set system option kernel disable-power-saving

This will add the following two options to the Kernel commandline:

  • intel_idle.max_cstate=0 Disable intel_idle and fall back on acpi_idle

  • processor.max_cstate=1 Limit processor to maximum C-state 1

Note

Setting will only become active with the next reboot!

set system option kernel amd-pstate-driver <mode>

Enables and configures p-state driver for modern AMD Ryzen and Epyc CPUs.

The available modes are:

  • active This is the low-level firmware control mode based on the profile set and the system governor has no effect.

  • passive The driver allows the system governor to manage CPU frequency while providing available performance states.

  • guided The driver allows to set desired performance levels and the firmware selects a performance level in this range and fitting to the current workload.

This will add the following two options to the Kernel commandline:

  • initcall_blacklist=acpi_cpufreq_init Disable default ACPI CPU frequency scale

  • amd_pstate={mode} Sets the p-state mode

Note

Setting will only become active with the next reboot!

HTTP client

set system option http-client source-address <address>

Several commands utilize cURL to initiate transfers. Configure the local source IPv4/IPv6 address used for all cURL operations.

set system option http-client source-interface <interface>

Several commands utilize curl to initiate transfers. Configure the local source interface used for all CURL operations.

Note

source-address and source-interface can not be used at the same time.

SSH client

set system option ssh-client source-address <address>

Use the specified address on the local machine as the source address of the connection. Only useful on systems with more than one address.

set system option ssh-client source-interface <interface>

Use the address of the specified interface on the local machine as the source address of the connection.

Keyboard Layout

When starting a VyOS live system (the installation CD) the configured keyboard layout defaults to US. As this might not suite everyone’s use case you can adjust the used keyboard layout on the system console.

set system option keyboard-layout <us | fr | de | fi | no | dk>

Change system keyboard layout to given language.

Defaults to us.

Note

Changing the keymap only has an effect on the system console, using SSH or Serial remote access to the device is not affected as the keyboard layout here corresponds to your access system.

Performance

As more and more routers run on Hypervisors, expecially with a NOS as VyOS, it makes fewer and fewer sense to use static resource bindings like smp-affinity as present in VyOS 1.2 and earlier to pin certain interrupt handlers to specific CPUs.

We now utilize tuned for dynamic resource balancing based on profiles.

set system option performance < throughput | latency >

Configure one of the predefined system performance profiles.

  • throughput: A server profile focused on improving network throughput. This profile favors performance over power savings by setting intel_pstate and max_perf_pct=100 and increasing kernel network buffer sizes.

    It enables transparent huge pages, and uses cpupower to set the performance cpufreq governor. It also sets kernel.sched_min_granularity_ns to 10 us, kernel.sched_wakeup_granularity_ns to 15 uss, and vm.dirty_ratio to 40%.

  • latency: A server profile focused on lowering network latency. This profile favors performance over power savings by setting intel_pstate and min_perf_pct=100.

    It disables transparent huge pages, and automatic NUMA balancing. It also uses cpupower to set the performance cpufreq governor, and requests a cpu_dma_latency value of 1. It also sets busy_read and busy_poll times to 50 us, and tcp_fastopen to 3.