sysctl variables

Sysctl interface

sysctl variables value types

There are 3 sysctl types:

  • using integer value

Example:

sysctl set mbuf linux 16384
  • using boolean value (true - 1 / false - 0)

Example:

sysctl set flow_acct_dropped_pkts 1
  • using string value

Example:

sysctl set system_name "tr1"

Note

For string variables, it is necessary to use quotation marks in the "value" parameter.

sysctl set

sysctl set sets a sysctl variable value.

sysctl set <name> <value>

For string variables:

sysctl set <name> "<value>"

Description

Item Description
name sysctl variable name
value sysctl variable value

sysctl get

sysctl get displays a sysctl variable value.

sysctl get <name> <value>

For string variables:

sysctl get <name> "<value>"

Description

Item Description
name sysctl variable name
value sysctl variable value

Sysctl variable reference

Variable name
Type
Scope
Description
Value
arp_cache_size
Integer
Startup
Capacity of the ARP cache.
Default = 32768
Min = 0
Max = UINT32_MAX
arp_cache_timeout
Integer
Runtime
Startup
Lifetime of an ARP cache entry, in
seconds.
seconds
Default = 300
Min = 10
Max = 14400
arp_failed_timeout
Integer
Runtime
Startup
Time spent in the failed ARP state,
in seconds.
seconds
Default = 5
Min = 5
Max = 60
arp_max_retransmits
Integer
Runtime
Startup
Maximum number of ARP
retransmissions.
Default = 3
Min = 1
Max = 10
arp_req_retransmit
_timeout
Integer
Runtime
Startup
Interval between ARP request
retransmissions, in seconds.
seconds
Default = 1
Min = 1
Max = 60
car64_max
Integer
Startup
Maximum number of 64-bit CAR
objects.
Default = 1024
Min = 32
Max = UINT32_MAX
car_red_ebs_multuplier
Integer
Runtime
Startup
Excess burst size multiplier used by
CAR RED.
Default = 2
Min = 2
Max = 32
cmbuf
Integer
Startup
Number of control message buffers.
buffers
Default = 65536
Min = 4096
Max = UINT32_MAX
cmbuf2
Integer
Startup
Number of secondary control message
buffers.
buffers
Default = 8192
Min = 4096
Max = UINT32_MAX
cplane_channels_length
Integer
Startup
Capacity of control-plane channels.
Default = 2048
Min = 1024
Max = UINT32_MAX
cplane_mbuf
Integer
Startup
Number of control-plane packet
buffers.
buffers
Default = 10000
Min = 4096
Max = UINT32_MAX
cplane_protection_arp
_enabled
Boolean
Runtime
Startup
Enables control-plane protection for
ARP.
Default = 1
0 = off
1 = on
cplane_protection_arp
_nb_policers
Integer
Startup
Number of control-plane policers for
ARP.
policers
Default = 64
Min = 16
Max = 512
cplane_protection_arp
_rate
Integer
Runtime
Startup
Maximum ingress ARP packet rate per
control-plane policer.
packets/second/policer
Default = 150
Min = 10
Max = 100000
cplane_protection_dhcp
_enabled
Boolean
Runtime
Startup
Enables control-plane protection for
DHCP.
Default = 1
0 = off
1 = on
cplane_protection_dhcp
_nb_policers
Integer
Startup
Number of control-plane policers for
DHCP.
policers
Default = 64
Min = 16
Max = 512
cplane_protection_dhcp
_rate
Integer
Runtime
Startup
Maximum ingress DHCP packet rate per
control-plane policer.
packets/second/policer
Default = 150
Min = 10
Max = 100000
cplane_protection_ipoe
_enabled
Boolean
Runtime
Startup
Enables control-plane protection for
IPoE.
Default = 1
0 = off
1 = on
cplane_protection_ipoe
_nb_policers
Integer
Startup
Number of control-plane policers for
IPoE.
policers
Default = 64
Min = 16
Max = 512
cplane_protection_ipoe
_rate
Integer
Runtime
Startup
Maximum ingress IPoE packet rate per
control-plane policer.
packets/second/policer
Default = 150
Min = 10
Max = 100000
cplane_protection_l2tp
_enabled
Boolean
Runtime
Startup
Enables control-plane protection for
L2TP.
Default = 1
0 = off
1 = on
cplane_protection_l2tp
_nb_policers
Integer
Startup
Number of control-plane policers for
L2TP.
policers
Default = 64
Min = 16
Max = 512
cplane_protection_l2tp
_rate
Integer
Runtime
Startup
Maximum ingress L2TP packet rate per
control-plane policer.
packets/second/policer
Default = 10000
Min = 10
Max = 100000
cplane_protection
_pppoe_enabled
Boolean
Runtime
Startup
Enables control-plane protection for
PPPoE.
Default = 1
0 = off
1 = on
cplane_protection
_pppoe_nb_policers
Integer
Startup
Number of control-plane policers for
PPPoE.
policers
Default = 64
Min = 16
Max = 512
cplane_protection
_pppoe_rate
Integer
Runtime
Startup
Maximum ingress PPPoE packet rate
per control-plane policer.
packets/second/policer
Default = 150
Min = 10
Max = 100000
dad_attempts
Integer
Runtime
Startup
Number of IPv6 Duplicate Address
Detection attempts.
Default = 1
Min = 0
Max = 255
debug_mbuf_leak_copy
_hdrs
Boolean
Startup
Enables copying packet headers for
mbuf leak debugging.
Default = 0
0 = off
1 = on
debug_mbuf_verbose_acq
_rel
Boolean
Runtime
Startup
Enables verbose mbuf acquisition and
release debugging. Requires a build
with mbuf leak debugging.
Default = 0
0 = off
1 = on
delay_online_license
_start
Boolean
Startup
Delays the start of online
licensing.
Default = 0
0 = off
1 = on
det_nat_gc_step
Integer
Runtime
Startup
Amount of deterministic NAT
garbage-collection work per step.
pages/step
Default = 312
Min = 1000
Max = UINT32_MAX
det_nat_random_tports
Boolean
Startup
Enables randomized translated ports
for deterministic NAT.
Default = 0
0 = off
1 = on
det_nat_sess_bucket
_size
Integer
Runtime
Startup
Size of deterministic NAT session
table buckets.
Default = 200
Min = 64
Max = 512
det_nat_sess_tbl_debug
_log_enabled
Integer
Runtime
Startup
Enables deterministic NAT session
table debug logging. Requires a
build with NAT session debug
logging.
Default = 0
Min = 0
Max = 1
det_snat_conn_limit
_default_max_conn
Integer
Runtime
Startup
Default maximum connections per
group. Requires a build with
deterministic NAT connection limits.
connections/group
Default = 1024
Unsigned integer
det_snat_conn_limit
_filter_mode
Integer
Runtime
Startup
Connection-limit filter mode.
Requires a build with deterministic
NAT connection limits.
Default = 0
Unsigned integer
det_snat_conn_limit
_group_by
Integer
Runtime
Startup
Grouping used for connection limits.
Requires a build with deterministic
NAT connection limits.
Default = 0
Unsigned integer
det_snat_debug_stat
Boolean
Runtime
Startup
Enables deterministic SNAT debug
statistics.
Default = 0
0 = off
1 = on
dhcp_relay_enabled
Boolean
Runtime
Startup
Enables the DHCP relay function
Default = 0
0 = off
1 = on
dhcp_relay_opt82
_curcuit_id_plain_text
Boolean
Runtime
Startup
Enables a plain text format for the
circuit_id suboption
Default = 0
0 = off
1 = on
dhcp_server
Boolean
Runtime
Startup
Enables the DHCP server function
Default = 0
0 = off
1 = on
dhcp_syslog
Boolean
Runtime
Startup
Enables DHCP syslog messages.
Default = 0
0 = off
1 = on
dhcpv6_include_dns
_options_to_broken_oro
_requests
Boolean
Runtime
Startup
Includes DNS options for DHCPv6
clients with incomplete option
request lists.
Default = 1
0 = off
1 = on
dhcpv6_preferred_lt
Integer
Runtime
Startup
Defines the default preferred value
for IPv6 addresses. For example,
this value will be used for IPv6
addresses received via RADIUS
protocol
seconds
Default = 604800
Min = 0
Max = UINT32_MAX
dhcpv6_rapid_commit
Boolean
Runtime
Startup
Enables the two-message DHCPv6
Solicit/Reply exchange when the
client includes Rapid Commit option.
When disabled, or if the option is
absent, the normal four-message
exchange is used.
Default = 0
0 = off
1 = on
dhcpv6_relay
Boolean
Runtime
Startup
Enables DHCPv6 relay.
Default = 0
0 = off
1 = on
dhcpv6_relay_cache
_size
Integer
Startup
Capacity of the DHCPv6 relay cache.
Default = 2048
Min = 2048
Max = UINT32_MAX
dhcpv6_relay_cache
_threshold
Integer
Runtime
Startup
DHCPv6 relay cache threshold.
Default = 256
Min = 1
Max = UINT32_MAX
dhcpv6_relay_flush
_interval_ms
Integer
Runtime
Startup
DHCPv6 relay cache flush interval,
in milliseconds.
milliseconds
Default = 5000
Min = 100
Max = UINT32_MAX
dhcpv6_relay_install
_ia_na_routes
Boolean
Runtime
Startup
Installs routes for IA_NA addresses
learned by DHCPv6 relay.
Default = 0
0 = off
1 = on
dhcpv6_relay_install
_ia_pd_routes
Boolean
Runtime
Startup
Installs routes for IA_PD prefixes
learned by DHCPv6 relay.
Default = 0
0 = off
1 = on
dhcpv6_relay_lla_opt
Boolean
Runtime
Startup
Controls the DHCPv6 relay link-layer
address option.
Default = 0
0 = off
1 = on
dhcpv6_server
Boolean
Startup
Enables the DHCPv6 server.
Default = 0
0 = off
1 = on
dhcpv6_valid_lt
Integer
Runtime
Startup
Defines the default valid value for
IPv6 addresses. For example, this
value will be used for IPv6
addresses received via RADIUS
protocol
seconds
Default = 1209600
Min = 0
Max = UINT32_MAX
dynamic_vif_auth_num
Integer
Startup
Maximum number of dynamic VIF
authorization operations.
Default = 4096
Min = 1024
Max = UINT32_MAX
dynamic_vif_dhcp_relay
Boolean
Runtime
Startup
Enables DHCP relay for dynamic VIFs.
Default = 0
0 = off
1 = on
dynamic_vif_ip
_unnumbered
Boolean
Runtime
Startup
Enables IP unnumbered operation for
dynamic VIFs.
Default = 0
0 = off
1 = on
dynamic_vif_ttl
Integer
Runtime
Startup
Dynamic VIF lifetime, in seconds.
seconds
Default = 600
Min = 60
Max = 14400
exclude_traffic_from
_stat_prefix_arr_id
Integer
Runtime
Startup
Prefix array used to exclude traffic
from statistics.
Default = 0
Min = 0
Max = 100
fib6_max_lpm_tbl8
Integer
Startup
Maximum number of IPv6 LPM tbl8
tables.
Default = 8192
Min = 2
Max = UINT32_MAX
fib6_max_next_hops
Integer
Startup
Maximum number of IPv6 FIB next
hops.
Default = 8192
Min = 2
Max = UINT32_MAX
fib6_max_route_tables
Integer
Startup
Maximum number of IPv6 route tables.
Default = 32
Min = 2
Max = 256
fib6_max_routes
Integer
Startup
Maximum number of IPv6 routes.
Default = 131072
Min = 2
Max = UINT32_MAX
fib_multihop_default
_hash_type
String
Runtime
Default hash selection for multipath
forwarding.
Default = “ip_src_dst”
Text
fib_next_hops_max
Integer
Startup
Maximum number of IPv4 FIB next
hops.
Default = 65536
Min = 1024
Max = UINT32_MAX
flow_acct
Boolean
Runtime
Startup
Enables flow accounting.
Default = 0
0 = off
1 = on
flow_acct_dropped_pkts
Boolean
Runtime
Startup
Includes dropped packets in flow
accounting.
Default = 0
0 = off
1 = on
flow_acct_in_out
Boolean
Runtime
Startup
Controls ingress and egress flow
accounting.
Default = 0
0 = off
1 = on
flow_active_timeout
Integer
Runtime
Startup
Active flow export timeout, in
seconds.
seconds
Default = 1800
Unsigned integer
flow_filter_dst
_enabled
Boolean
Runtime
Startup
Enables destination filtering for
flow accounting.
Default = 0
0 = off
1 = on
flow_filter_src
_enabled
Boolean
Runtime
Startup
Enables source filtering for flow
accounting.
Default = 0
0 = off
1 = on
flow_idle_timeout
Integer
Runtime
Startup
Idle flow export timeout, in
seconds.
seconds
Default = 20
Unsigned integer
flow_ipv4_max
Integer
Startup
Maximum number of IPv4 flow records.
Default = 32768
Min = 1024
Max = UINT32_MAX
flow_ipv4_worker_max
Integer
Startup
Maximum number of IPv4 flow records
per worker.
Default = 32768
Min = 1024
Max = UINT32_MAX
flow_ipv6_max
Integer
Startup
Maximum number of IPv6 flow records.
Default = 32768
Min = 1024
Max = UINT32_MAX
flow_ipv6_worker_max
Integer
Startup
Maximum number of IPv6 flow records
per worker.
Default = 32768
Min = 1024
Max = UINT32_MAX
flow_template
_transmission_interval
Integer
Runtime
Startup
Interval between flow export
template transmissions.
seconds
Default = 60
Min = 10
Max = UINT16_MAX
flow_usernames_enabled
Boolean
Startup
Includes subscriber usernames in
flow exports.
Default = 0
0 = off
1 = on
flush_subsc_nat
_sessions_on
_disconnect
Boolean
Runtime
Startup
Flushes subscriber NAT sessions on
disconnect.
Default = 0
0 = off
1 = on
fpm_debug
Boolean
Runtime
Startup
Enables FPM debug logging.
Default = 0
0 = off
1 = on
fpm_on
Boolean
Runtime
Startup
Enables the Forwarding Plane Manager
interface.
Default = 1
0 = off
1 = on
fpm_rewrite_next_hop
IPv4
Runtime
Startup
IPv4 next-hop address used by FPM
next-hop rewriting.
Default = 0.0.0.0
IPv4 address
fpm_route_table_map
_size
Integer
Startup
Size of the FPM route table map.
Default = 16
Min = 16
Max = UINT16_MAX
fpm_rt_map
Boolean
Startup
Controls FPM route table mapping.
Default = 0
0 = off
1 = on
frag_mbuf
Integer
Startup
Number of packet buffers for
fragmentation.
buffers
Default = automatic
Min = 1024
Max = UINT32_MAX
global_packet_counters
Boolean
Runtime
Startup
Enables global packet counters.
Default = 0
0 = off
1 = on
hcar32_max
Integer
Startup
Maximum number of 32-bit
hierarchical CAR objects.
Default = 64
Min = 64
Max = UINT32_MAX
hcar_1l_max
Integer
Startup
Maximum number of one-level
hierarchical CAR objects.
Default = 1024
Min = 1024
Max = UINT32_MAX
icmp6_num_buckets
Integer
Startup
Number of ICMPv6 rate-limiter
buckets.
Default = 16
Min = 1
Max = 255
icmp6_packet_rate
Integer
Startup
ICMPv6 packet rate limit.
packets/second
Default = 64
Min = 1
Max = UINT16_MAX
icmp6_transmission
_burst
Integer
Startup
ICMPv6 transmission burst allowance.
packets
Default = 32
Min = 1
Max = UINT16_MAX
icmp_num_buckets
Integer
Startup
Number of ICMP rate-limiter buckets.
Default = 32
Min = 1
Max = 255
icmp_packet_rate
Integer
Startup
ICMP packet rate limit.
packets/second
Default = 64
Min = 1
Max = UINT16_MAX
icmp_transmission
_burst
Integer
Startup
ICMP transmission burst allowance.
packets
Default = 32
Min = 1
Max = UINT16_MAX
install_subsc_linux
_routes
Boolean
Startup
Enables adding/removing linux kernel
/32 routes for IPoE subscriber’s IP
addresses. Linux kernel routes are
installed to the linux lo
interface in the namespace where
BisonRouter is running. This option
allows to announce subscriber’s /32
prefixes by using the
redistribute kernel command of
FRR/Quagga bgpd or ospfd daemons.
Default = 0
0 = off
1 = on
install_subsc_routes
Boolean
Runtime
Startup
Enables installation of a /32 route
for each IPoE L2/L3 subscriber’s IP
address
Default = 0
0 = off
1 = on
ip_lease_db
Boolean
Startup
Enables the IP lease database.
Default = 0
0 = off
1 = on
ip_lease_db_save_delay
Integer
Runtime
Startup
Delay before saving the IP lease
database.
seconds
Default = 300
Min = 10
Max = UINT16_MAX
ip_route_tables_max
Integer
Startup
Maximum number of IPv4 route tables.
Default = 64
Min = 16
Max = 65536
ip_routes_max
Integer
Startup
Maximum number of IPv4 routes.
Default = 1048576
Min = 1024
Max = UINT32_MAX
ipfix_nat_events
Boolean
Runtime
Enables IPFIX NAT events.
Default = 0
0 = off
1 = on
ipoe_allocate_ia_na
_from_slaac_pool
Boolean
Runtime
Startup
Allocates IPoE IA_NA addresses from
the SLAAC pool.
Default = 0
0 = off
1 = on
ipoe_arp_keepalive
_interval
Integer
Runtime
Startup
Interval in seconds between running
keepalive tests
seconds
Default = 0
Min = 0
Max = UINT16_MAX
ipoe_arp_keepalive_nb
_probes
Integer
Runtime
Startup
Number of probes in an IPoE ARP
keepalive test.
Default = 3
Min = 1
Max = 10
ipoe_arp_keepalive
_probe_interval
Integer
Runtime
Startup
Interval between IPoE ARP keepalive
probes.
milliseconds
Default = 200
Min = 0
Max = UINT16_MAX
ipoe_dhcpv6_ia_na
Integer
Runtime
Startup
Defines the IA_NA option behavior of
the IPoE DHCPv6 server 0 = off, the
IA_NA option is not included in
DHCPv6 messages; 1 = on, the IA_NA
option is included to the DHCPv6
replies, IA_NA value will be
allocated from a pool only if the
DHCPv6 client asks for the option; 2
- always allocate, the IA_NA option
is included in the DHCPv6 replies,
IA_NA value will be allocated from a
pool immediately after the IPv6oE
subscriber has connected.
Default = 1
Min = 0
Max = 2
ipoe_dhcpv6_ia_pd
Integer
Runtime
Startup
Setups the IA_PD for IPoE DHCPv6
server. 0 = off, the IA_PD option is
not included in DHCPv6 messages; 1 =
on, the IA_PD option is included to
the DHCPv6 replies, IA_PD value will
be allocated from a pool only if the
DHCPv6 client asks for the option; 2
- always allocate, the IA_PD option
is included in the DHCPv6 replies,
IA_PD value will be allocated from a
pool immediately after the IPv6oE
subscriber has connected.
Default = 1
Min = 0
Max = 2
ipoe_ipv6
Boolean
Startup
Enables/disables the IPv6 protocol
for IPoE subscribers
Default = 0
0 = off
1 = on
ipoe_mac_acl_ttl
Integer
Runtime
Startup
MAC ACL lifetime after an IPoE
authentication denial, in seconds.
Zero disables automatic entries.
seconds
Default = 0
Min = 0
Max = UINT16_MAX
ipoe_rad_acct_start
_delay
Integer
Runtime
Startup
Delay before sending IPoE RADIUS
Accounting-Start, in seconds.
seconds
Default = 0
Min = 0
Max = UINT16_MAX
ipoe_slaac
Boolean
Runtime
Startup
Enables SLAAC for IPoE subscribers.
Default = 0
0 = off
1 = on
ipoe_strict_dhcp_pool
Boolean
Runtime
Startup
Enables strict DHCP pool handling
for IPoE subscribers.
Default = 0
0 = off
1 = on
ipoe_subsc_passwd
String
Runtime
Startup
Password used for IPoE subscriber
RADIUS authentication.
Default =
“1234567890123456”
Text
ipoe_ttl
Integer
Runtime
Startup
Defines IPoE subscriber’s
Time-to-Live parameter value
seconds
Default = 600
Min = 0
Max = UINT16_MAX
ipoe_unuthorized_ttl
Integer
Runtime
Startup
Lifetime of an unauthorized IPoE
subscriber.
seconds
Default = 90
Min = 60
Max = 14400
ippool_cache_entry_ttl
Integer
Runtime
Startup
Time to live of an IP pool cache
entry
seconds
Default = 60
Min = 1
Max = 259200
ippool_cache_size
Integer
Startup
Size of the IP pool’s global pool
cache
Default = 16384
Min = 1024
Max = UINT32_MAX
ipv6_pool_cache_size
Integer
Startup
Capacity of the IPv6 address pool
cache.
Default = 4096
Min = 1024
Max = UINT32_MAX
ipv6_subsc_no_final_nd
_ra
Boolean
Runtime
Startup
Suppresses the final Router
Advertisement for IPv6 subscribers.
Default = 1
0 = off
1 = on
ipv6_tcp_mss_fix
Boolean
Runtime
Startup
Enables/disables the MSS
fix/clumping for IPv6
Default = 0
0 = off
1 = on
kni_driver_type
String
Startup
Kernel network interface driver
selection.
Default = “kni”
Text
kni_max
Integer
Startup
Maximum number of kernel network
interfaces.
Default = 64
Min = 16
Max = 65536
l2_ptp_sw_fdb_size
Integer
Startup
Size of the L2 point-to-point
software forwarding database.
Requires a build with L2
point-to-point switching.
Default = 256
Min = 16
Max = UINT16_MAX
l2_subsc_arp_security
Boolean
Runtime
Startup
Enables filtering of ARP requests on
VIFs with the flag l2_subsc.
BisonRouter will reply only to
requests received from authorized L2
subscribers. BisonRouter will try to
find a match between ARP source IP,
the ARP source hardware address in a
request and a pair of IP and MAC
addresses of one of the online L2
subscribers. If no match is found,
the request will be ignored. It will
also check that the ARP request was
received from the VIF to which the
matching subscriber is connected.
Default = 0
0 = off
1 = on
l2_subsc_initiate_by
_dhcp
Boolean
Runtime
Startup
Instructs BisonRouter to initiate a
new IPoE subscriber session upon
receiving the DHCP message
Default = 0
0 = off
1 = on
l2tp_closing_tunnel
_ttl
Integer
Runtime
Startup
Lifetime of an L2TP tunnel in the
closing state.
seconds
Default = 1
Min = 1
Max = 10
l2tp_incomplete
_session_ttl
Integer
Runtime
Startup
Lifetime of an incomplete L2TP
session.
seconds
Default = 2
Min = 1
Max = 20
l2tp_incomplete_tunnel
_ttl
Integer
Runtime
Startup
Lifetime of an incomplete L2TP
tunnel.
seconds
Default = 5
Min = 1
Max = 20
l2tp_lac_dynamic_conf
_ttl
Integer
Runtime
Startup
Lifetime of dynamic L2TP LAC
configuration.
seconds
Default = 1200
Min = 1
Max = UINT16_MAX
l2tp_lac_peer_dead
_timeout
Integer
Runtime
Startup
Timeout for treating an L2TP LAC
peer as dead.
seconds
Default = 60
Min = 0
Max = UINT16_MAX
l2tp_max_lac_sessions
Integer
Startup
Maximum number of L2TP LAC sessions.
Default = 2048
Min = 1
Max = UINT32_MAX
l2tp_max_lns_sessions
Integer
Startup
Maximum number of L2TP LNS sessions.
Default = 2048
Min = 1
Max = UINT32_MAX
l2tp_max_tunnels
Integer
Startup
Maximum number of L2TP tunnels.
Default = 64
Min = 0
Max = UINT16_MAX
l2tp_template_acl
String
Runtime
Startup
Template ACL for L2TP subscribers.
Default = “”
Text
l2tp_tunnel_egress
_path_update_interval
Integer
Runtime
Startup
Interval between L2TP tunnel egress
path updates.
milliseconds
Default = 150
Min = 50
Max = UINT16_MAX
l2tp_tunnel_hello
_interval
Integer
Runtime
Startup
Interval between L2TP tunnel Hello
messages.
seconds
Default = 20
Min = 1
Max = UINT16_MAX
l3_subsc_mac
Boolean
Runtime
Startup
Controls MAC address handling for L3
subscribers.
Default = 0
0 = off
1 = on
lcp_keepalive_interval
Integer
Runtime
Startup
Interval between keepalive tests.
seconds
Default = 30
Min = 0
Max = UINT16_MAX
lcp_keepalive_num
_retries
Integer
Runtime
Startup
The max. number of keepalive probes
that could be sent during one
keepalive test.
Default = 10
Min = 1
Max = 16
lcp_keepalive
_probe_interval
Integer
Runtime
Startup
Interval between keepalive probes.
milliseconds
Default = 500
Min = 200
Max = 6000
linux_route_proto
Integer
Runtime
Startup
Linux route protocol identifier.
Default = 4
Min = 2
Max = 4
linux_routes_debug
Boolean
Runtime
Startup
Enables Linux route debug logging.
Default = 0
0 = off
1 = on
log_level
Integer
Runtime
Startup
Global logging verbosity level.
Default =
DPDK/EAL-defined
Unsigned integer
lowest_ipv6_mtu
Integer
Runtime
Startup
Lowest IPv6 MTU used by NAT64 when
fragmenting translated IPv6 packets.
Effective MTU is
min(lowest_ipv6_mtu, egress_mtu).
bytes
Default = 1280
Min = 1280
Max = UINT16_MAX
lpm_table8_size
Integer
Startup
Size of the IPv4 LPM tbl8 table
pool.
Default = 256
Min = 256
Max = UINT16_MAX
mac_acl_max_size
Integer
Startup
Maximum number of MAC ACL entries.
Default = 16384
Min = 64
Max = UINT32_MAX
mac_addr_format
String
Runtime
Startup
Format used to represent MAC
addresses.
Default = “cisco”
Text
max_ippools
Integer
Startup
Maximum number of IP address pools.
Default = 256
Min = 16
Max = 8192
max_num_solicited_node
_addrs
Integer
Startup
Maximum number of IPv6
solicited-node addresses.
Default = 8192
Min = 1024
Max = UINT16_MAX
max_rtr_solicitation
_delay
Integer
Runtime
Startup
Maximum delay before sending a
Router Solicitation.
seconds
Default = 1
Min = 1
Max = 255
max_vlan_set
Integer
Startup
Maximum number of VLAN sets.
Default = 32
Min = 16
Max = 2048
max_vrf
Integer
Startup
Maximum number of VRFs.
Default = 16
Min = 1
Max = UINT16_MAX
mbuf
Integer
Startup
Number of packet buffers.
buffers
Default = 4096
Min = 4096
Max = UINT32_MAX
nas_ip_addr
IPv4
Runtime
Startup
NAS IPv4 address used in RADIUS
requests.
Default = 0.0.0.0
IPv4 address
nat64_conn_limit
_default_max_conn
Integer
Runtime
Startup
Default maximum connections per
group.
connections/group
Default = 1024
Unsigned integer
nat64_conn_limit
_filter_mode
Integer
Runtime
Startup
Connection-limit filter mode.
Default = 0
Unsigned integer
nat64_conn_limit_group
_by
Integer
Runtime
Startup
Grouping used for connection limits.
Default = 0
Unsigned integer
nat64_frag_train_ttl
Integer
Runtime
Startup
TTL for IPv6 fragmentation trains
used for fragment tracking and
reassembly.
seconds
Default = 2
Min = 1
Max = 255
nat64_gc_step
Integer
Runtime
Startup
Number of NAT64 GC items processed
per iteration (limits GC work per
pass).
Default = 1000
Min = 100
Max = UINT32_MAX
nat64_internal_ip_ttl
Integer
Runtime
Startup
Lifetime of an internal IPv6 host
record after it becomes unused
(bib_rc == 0).
seconds
Default = 7200
Min = 10
Max = UINT32_MAX
nat64_nel_port_block
_intermediate_interval
Integer
Runtime
Startup
Interval for intermediate NEL events
about port-block usage/allocation.
seconds
Default = 0
Min = 10
Max = UINT32_MAX
nat_conn_per_sec_limit
Integer
Runtime
Startup
NAT connection creation rate limit.
connections/second
Default = 10
Min = 2
Max = UINT16_MAX
nat_conn_per_sec_limit
_enabled
Boolean
Runtime
Startup
Enables the NAT connection creation
rate limit.
Default = 0
0 = off
1 = on
nat_conn_per_sec_ttl
Integer
Runtime
Startup
Lifetime of NAT connection
rate-limit state.
seconds
Default = 600
Min = 120
Max = UINT16_MAX
nat_events
Boolean
Runtime
Enables the NEL function
Default = 0
0 = off
1 = on
nat_max_maps
Integer
Startup
Maximum number of NAT maps.
Default = 128
Min = 16
Max = 4096
nat_max_nb_ext_sess
Integer
Startup
Maximum number of external NAT
sessions. Requires a build with NAT
ALG.
Default = 1024
Min = 1024
Max = UINT32_MAX
nat_portmap_initial
_size
Integer
Startup
Initial NAT port-map size.
Default = 2097152
Min = 256
Max = UINT32_MAX
nd_neighbor_cache
_bucket_size
Integer
Startup
Size of IPv6 neighbor cache buckets.
Default = 5
Min = 5
Max = 128
nd_neighbor_cache
_entry_ttl
Integer
Runtime
Startup
Lifetime of an IPv6 neighbor cache
entry.
seconds
Default = 600
Min = 10
Max = UINT16_MAX
nd_neighbor_cache
_flush_queue_time
Integer
Runtime
Startup
IPv6 neighbor cache flush queue
interval, in milliseconds.
milliseconds
Default = 2000
Min = 1000
Max = 65000
nd_neighbor_cache_size
Integer
Startup
Size of the IPv6 neighbor cache.
Must be a power of two.
Default = 4096
Power of two
Min = 1
Max = 2147483648
nd_retrans_timer
Integer
Runtime
Startup
IPv6 Neighbor Discovery
retransmission interval.
milliseconds
Default = 1000
Min = 100
Max = 36000000
nd_worker_nc_entry_ttl
Integer
Runtime
Startup
Lifetime of an entry in the worker
IPv6 neighbor cache.
milliseconds
Default = 2000
Min = 1
Max = UINT16_MAX
nel_filter_dst_enabled
Boolean
Runtime
Startup
Enables destination filtering for
NAT event logging.
Default = 0
0 = off
1 = on
nel_filter_src_enabled
Boolean
Runtime
Startup
Enables source filtering for NAT
event logging.
Default = 0
0 = off
1 = on
nel_ratelimit_buckets
Integer
Startup
Number of NAT event logging
rate-limiter buckets.
Default = 8
Min = 1
Max = 2048
nel_ratelimit_burst
Integer
Runtime
Startup
NAT event logging burst allowance.
messages
Default = 5
Min = 1
Max = 8192
nel_ratelimit_msg_rate
Integer
Runtime
Startup
NAT event logging message rate
limit.
messages/second
Default = 5
Min = 1
Max = 2048
nel_template
_retransmission
_interval
Integer
Startup
Interval between NAT event logging
template retransmissions.
seconds
Default = 10
Min = 10
Max = UINT16_MAX
nel_usernames_enabled
Boolean
Startup
Includes usernames in NAT event
logging.
Default = 0
0 = off
1 = on
netflowv9_cisco_compat
Boolean
Startup
Enables Cisco compatibility for
NetFlow v9.
Default = 0
0 = off
1 = on
num_cplane_timers
Integer
Startup
Number of control-plane timers.
timers
Default = 131072
Min = 1024
Max = UINT32_MAX
num_rx_desc
Integer
Startup
Number of receive descriptors.
descriptors
Default = 128
Min = 16
Max = UINT16_MAX
num_tx_desc
Integer
Startup
Number of transmit descriptors.
descriptors
Default = 512
Min = 16
Max = UINT16_MAX
num_worker_timers
Integer
Startup
Number of worker timers.
timers
Default = 131072
Min = 1024
Max = UINT32_MAX
numa
Boolean
Startup
Enables NUMA-aware operation.
Default = 0
0 = off
1 = on
packet_socket_input
_ring_size
Integer
Startup
Size of packet socket input rings.
Default = 128
Min = 64
Max = UINT32_MAX
packet_socket_max
Integer
Startup
Maximum number of packet sockets.
Default = 256
Min = 64
Max = UINT32_MAX
packet_socket_output
_ring_size
Integer
Startup
Size of packet socket output rings.
Default = 128
Min = 64
Max = UINT32_MAX
ppp_1session_per
_username
Boolean
Startup
When enabled, BisonRouter prevents
the connection of new PPPoE
subscribers with a user-name being
used by an already connected/online
PPPoE subscriber.
Default = 0
0 = off
1 = on
ppp_allocate_ia_na
_from_slaac_pool
Boolean
Runtime
Startup
Allocates PPP IA_NA addresses from
the SLAAC pool.
Default = 0
0 = off
1 = on
ppp_auth_max_peer_name
_len
Integer
Startup
Maximum supported length of PPP
authentication usernames.
characters
Default = 20
Min = 1
Max = 100
ppp_default_auth_proto
String
Runtime
Startup
Defines the default PPP auth proto.
Default = chap
chap or pap
ppp_dhcpv6_ia_na
Integer
Runtime
Startup
Defines the IA_NA option behavior of
the PPP DHCPv6 server 0 = off, the
IA_NA option is not included in
DHCPv6 messages; 1 = on, the IA_NA
option is included to the DHCPv6
replies, IA_NA value will be
allocated from a pool only if the
DHCPv6 client asks for the option; 2
- always allocate, the IA_NA option
is included in the DHCPv6 replies,
IA_NA value will be allocated from a
pool immediately after the PPP
subscriber has connected.
Default = 1
Min = 0
Max = 2
ppp_dhcpv6_ia_pd
Integer
Runtime
Startup
Setups the IA_PD for PPP DHCPv6
server. 0 = off, the IA_PD option is
not included in DHCPv6 messages; 1 =
on, the IA_PD option is included to
the DHCPv6 replies, IA_PD value will
be allocated from a pool only if the
DHCPv6 client asks for the option; 2
- always allocate, the IA_PD option
is included in the DHCPv6 replies,
IA_PD value will be allocated from a
pool immediately after the PPP
subscriber has connected.
Default = 1
Min = 0
Max = 2
ppp_inactive_ttl
Integer
Runtime
Startup
Inactivity timeout for PPP
subscribers.
seconds
Default = 7200
Min = 0
Max = UINT16_MAX
ppp_initial_restart
_time
Integer
Runtime
Startup
Waiting time before resending the
PPP FSM configure request. This time
will be multiplied by 1.5 with each
attempt to resend the request.
milliseconds
Default = 500
Min = 100
Max = 60000
ppp_install_subsc
_linux_routes
Boolean
Startup
When enabled, BisonRouter will
add/remove linux kernel /32 routes
for PPP subscribers IP addresses.
Linux kernel routes are installed to
‘lo’ interface in the namespace in
which BisonRouter is running. This
option allows announcing
subscriber’s /32 prefixes by using
“redistribute kernel” command in
FRR/Quagga bgpd or ospfd daemons.
Default = 0
0 = off
1 = on
ppp_ipv6
Boolean
Startup
Enables/disables the IPv6 protocol
for PPP subscribers
Default = 0
0 = off
1 = on
ppp_max_configure
Integer
Runtime
Startup
The max. number of PPP FSM (LCP or
NCP (IPCP)) configure packets that
can be sent.
Default = 10
Min = 1
Max = 16
ppp_max_mru_sized_echo
_requests
Integer
Runtime
Startup
Maximum number of MRU-sized PPP
Echo-Requests.
Default = 4
Min = 1
Max = 5
ppp_max_subsc
Integer
Startup
The max. number of concurrent PPP
subscribers across PPPoE and L2TP.
Default = 30000
Min = 1
Max = UINT32_MAX
ppp_max_terminate
Integer
Runtime
Startup
The max. number of PPP FSM (LCP or
NCP (IPCP)) terminate packets that
can be sent.
Default = 2
Min = 1
Max = 10
ppp_negotiation
_failure_cooldown
_enabled
Boolean
Runtime
Startup
When enabled, BisonRouter creates a
MAC ACL entry for a PPPoE subscriber
after PPP negotiation failure due to
PPP FSM restart count reaching zero.
Cool-down duration is configured by
pppoe_mac_acl_ttl.
Default = 0
0 = off
1 = on
ppp_ra_mtu
Integer
Runtime
Startup
Defines the size of the MTU Router
Advertisement option of RA messages
sent to PPP interfaces
bytes
Default = 0
Min = 0
Max = UINT16_MAX
ppp_rad_acct_ia_na
Boolean
Runtime
Startup
Defines whether or not to include
the Framed-IPv6-Address attribute
containing the PPP subscriber’s
IA_NA address to the RADIUS
accounting messages.
Default = 0
0 = off
1 = on
ppp_rad_acct_ia_pd
Boolean
Runtime
Startup
Defines whether or not to include
the Delegated-IPv6-Address attribute
containing the PPP subscriber’s
IA_PD prefix to the RADIUS
accounting messages.
Default = 0
0 = off
1 = on
ppp_rad_acct_slaac
Boolean
Runtime
Startup
Defines whether or not to include
the Framed-IPv6-Prefix attribute
containing the PPP subscriber’s
SLAAC prefix to the RADIUS
accounting messages.
Default = 0
0 = off
1 = on
ppp_round_robin_dns
Boolean
Runtime
Startup
Enables round-robin DNS assignment
for PPP subscribers.
Default = 0
0 = off
1 = on
ppp_slaac
Boolean
Runtime
Startup
Enables/disables the use of SLAAC
for PPP interfaces.
Default = 0
0 = off
1 = on
ppp_username_strip
_domain
Boolean
Runtime
Startup
Removes the domain from PPP
usernames.
Default = 0
0 = off
1 = on
ppp_username_strip
_domain_cli_log
Boolean
Runtime
Startup
When enabled, BisonRouter deletes
the domain part of the PPP username
before output the username to CLI or
log files.
Default = 0
0 = off
1 = on
ppp_username_to_lower
_case
Boolean
Runtime
Startup
When enabled, BisonRouter lowers
PPPoE usernames that come from CoA
protocol and CHAP/PAP auth
protocols.
Default = 0
0 = off
1 = on
ppp_username_trim
_trailing_spaces
Boolean
Runtime
Startup
When enabled, BisonRouter trims
trailing spaces from PPPoE usernames
that come from CoA protocol and
CHAP/PAP auth protocols.
Default = 0
0 = off
1 = on
pppoe_auth_reject
_cooldown_enabled
Boolean
Runtime
Startup
When enabled, BisonRouter creates a
MAC ACL entry for a PPPoE subscriber
after a RADIUS authentication deny
(Access-Reject). Cool-down duration
is configured by
pppoe_mac_acl_ttl.
Default = 0
0 = off
1 = on
pppoe_inactive_ttl
Integer
Runtime
Startup
Alias for ppp_inactive_ttl; PPP
subscriber inactivity timeout.
seconds
Default = 7200
Min = 0
Max = UINT16_MAX
pppoe_mac_acl_ttl
Integer
Runtime
Startup
PPPoE cooldown duration, in seconds.
Requires the corresponding cooldown
flag. Zero disables automatic MAC
ACL entries.
seconds
Default = 0
Min = 0
Max = UINT16_MAX
pppoe_max_nb_delayed
_pado
Integer
Runtime
Startup
The max. number of PPPoE PADO
packets that can be delayed at the
same time. Once BisonRouter receives
and delays that number of PADI/PADO
all new PADI packets will be
dropped.
Default = 256
Min = 256
Max = UINT16_MAX
pppoe_max_online_subsc
Integer
Runtime
Startup
The max. number of online PPPoE
subscribers. Once the number of
online PPPoE subscribers reaches
this limit, BisonRouter will stop
answering to the PPPoE Discovery
Initiation Packets (PADI).
Default = 0
Min = 0
Max = UINT32_MAX
pppoe_max_subsc
Integer
Startup
Deprecated alias for
ppp_max_subsc.
Default = 30000
Min = 1
Max = UINT32_MAX
pppoe_max_verbose
_subsc
Integer
Startup
Maximum number of PPPoE subscribers
with verbose logging.
Default = 64
Min = 0
Max = UINT16_MAX
pppoe_nb_delayed_pado
Integer
Runtime
Startup
(Read-only) the number of currently
delayed PADO packets that are
waiting to be sent to the wire.
Default = n/a
Live counter
Read-only
Unsigned integer
pppoe_rad_acct_start
_delay
Integer
Runtime
Startup
Delay before sending PPPoE RADIUS
Accounting-Start, in seconds.
seconds
Default = 0
Min = 0
Max = UINT16_MAX
pppoe_rfc_4638_mru
_size_probes
Boolean
Runtime
Startup
Enables MRU-size probing for PPPoE
RFC 4638.
Default = 0
0 = off
1 = on
pppoe_rfc_4638_mtu
Boolean
Startup
MTU used for PPPoE RFC 4638 support.
Default = 0
0 = off
1 = on
pppoe_sub_uniq_check
Boolean
Startup
Check if a PPPoE subscriber has a
unique pair of Host-Uniq TAG and MAC
address. If a new PPPoE discovery
request is received containing an
already existing pair of values, it
will be discarded.
Default = 1
0 = off
1 = on
pppoe_sub_uptime_in
_sec
Boolean
Runtime
Startup
When enabled, BisonRouter outputs
the PPPoE subscriber uptime in
seconds.
Default = 0
0 = off
1 = on
pppoe_template_acl
String
Runtime
Startup
Template ACL for PPPoE subscribers.
Default = “”
Text
prefix_map_max
_prefixes
Integer
Runtime
Startup
Maximum number of prefixes in a
prefix map.
Default = 1048576
Min = 1024
Max = UINT32_MAX
qos_sch_reset_pipe_on
_get
Boolean
Runtime
Startup
Resets a QoS scheduler pipe when it
is obtained from the pool.
Default = 0
0 = off
1 = on
qos_sch_reset_pipe_on
_put
Boolean
Runtime
Startup
Resets a QoS scheduler pipe when it
is returned to the pool.
Default = 0
0 = off
1 = on
qos_sch_vif_pool_size
Integer
Startup
Size of the QoS scheduler VIF pool.
Default = 1024
Min = 0
Max = UINT32_MAX
qos_scheduler_worker
_ring_size
Integer
Startup
Size of QoS scheduler worker rings.
Default = 1024
Min = 32
Max = 4096
rad_acct_on_off_pkts
Boolean
Startup
Enables the use of the RADIUS
accounting on/off packets.
Default = 0
0 = off
1 = on
rad_retransmit_to
_another_server
_attempts
Integer
Runtime
Startup
Number of retransmission attempts to
another RADIUS server.
Default = 3
Min = 1
Max = 20
rad_server_dead
_threshold
Integer
Runtime
Startup
Threshold for declaring a RADIUS
server dead.
Default = 6
Min = 1
Max = 100
rad_server_dead_time
_threshold
Integer
Runtime
Startup
Time threshold for declaring a
RADIUS server dead.
seconds
Default = 30
Min = 5
Max = UINT16_MAX
rad_server_dead
_timeout
Integer
Runtime
Startup
Timeout for a RADIUS server marked
dead.
seconds
Default = 120
Min = 5
Max = UINT16_MAX
radius_accounting
Boolean
Runtime
Startup
Globally enables/disables the RADIUS
accounting
Default = 0
0 = off
1 = on
radius_accounting
_interim
Boolean
Runtime
Startup
Enables/disables RADIUS accounting
interim requests
Default = 0
0 = off
1 = on
radius_accounting
_interim_interval
Integer
Runtime
Startup
Sets the interval for sending
interim requests
seconds
Default = 60
Min = 5
Max = UINT16_MAX
radius_event_timestamp
Boolean
Runtime
Startup
Includes Event-Timestamp in RADIUS
messages.
Default = 0
0 = off
1 = on
radius_initial
_retransmit_timeout
Integer
Runtime
Startup
Initial RADIUS retransmit timeout
milliseconds
Default = 500
Min = 200
Max = UINT16_MAX
radius_max_sessions
Integer
Runtime
Startup
Maximum number of RADIUS sessions.
Default = 2048
Min = 64
Max = UINT16_MAX
radius_num_retransmit
Integer
Runtime
Startup
Number of RADIUS retransmits
Default = 3
Min = 1
Max = 16
radius_prefer_framed
_ip_pool_over_framed
_ip_addr
Boolean
Runtime
Startup
Prefers Framed-Pool over
Framed-IP-Address in RADIUS replies.
Default = 0
0 = off
1 = on
radius_session_timeout
Boolean
Runtime
Startup
RADIUS session timeout.
Default = 1
0 = off
1 = on
rps_queue_size
Integer
Startup
Size of receive packet steering
queues. Requires a build with RPS.
Default = 1024
Min = 512
Max = 8192
scar_max
Integer
Startup
Maximum number of simple CAR
objects.
Default = 256
Min = 256
Max = UINT32_MAX
sflow_enabled
Boolean
Runtime
Startup
Enables sFlow.
Default = 0
0 = off
1 = on
snat_conn_limit
_default_max_conn
Integer
Runtime
Startup
Default maximum connections per
group.
connections/group
Default = 1024
Unsigned integer
snat_conn_limit_filter
_mode
Integer
Runtime
Startup
Connection-limit filter mode.
Default = 0
Unsigned integer
snat_conn_limit_group
_by
Integer
Runtime
Startup
Grouping used for connection limits.
Default = 0
Unsigned integer
snat_dynamic
_translation_ip
Boolean
Runtime
Startup
Controls dynamic SNAT translation
address selection.
Default = 0
0 = off
1 = on
snat_gc_nb_unused_pb
_threshold
Integer
Runtime
Startup
Unused port-block threshold for SNAT
garbage collection.
Default = 2
Min = 1
Max = 2
snat_gc_step
Integer
Runtime
Startup
Amount of SNAT garbage-collection
work per step.
Default = 1000
Min = 100
Max = UINT32_MAX
snat_internal_ip_ttl
Integer
Runtime
Startup
Lifetime of an unused internal SNAT
host record.
seconds
Default = 7200
Min = 10
Max = UINT32_MAX
snat_nel_port_block
_intermediate_interval
Integer
Runtime
Startup
Interval for intermediate SNAT
port-block logging events.
seconds
Default = 0
Min = 10
Max = UINT32_MAX
subsc_initiate_by
_egress_pkts
Boolean
Runtime
Startup
Instructs BisonRouter to initiate a
new L2 connected subscriber session
if an unclassified egress packet is
received.
Default = 1
0 = off
1 = on
subsc_initiate_by
_ingress_pkts
Boolean
Runtime
Startup
Instructs BisonRouter to initiate a
new L2 connected subscriber session
if an unclassified ingress packet is
received.
Default = 1
0 = off
1 = on
subsc_initiation
_denied_timeout
Integer
Runtime
Startup
Timeout following denied subscriber
initiation.
seconds
Default = 180
Min = 10
Max = UINT16_MAX
subsc_initiation_state
_ttl
Integer
Runtime
Startup
Lifetime of subscriber initiation
state.
seconds
Default = 20
Min = 10
Max = UINT16_MAX
subsc_update
_expiration_by_egress
_pkts
Boolean
Runtime
Startup
Instructs BisonRouter to update the
expiration/TTL time of L2
subscribers when an egress packet is
received.
Default = 1
0 = off
1 = on
subsc_update
_expiration_by_ingress
_pkts
Boolean
Runtime
Startup
Instructs BisonRouter to update the
expiration/TTL time of L2
subscribers when an ingress packet
is received.
Default = 1
0 = off
1 = on
subsc_username_suffix
Boolean
Runtime
Startup
Controls the subscriber username
suffix.
Default = 0
0 = off
1 = on
subsc_username_vlan
_suffix
Boolean
Runtime
Startup
Controls the VLAN suffix in
subscriber usernames.
Default = 0
0 = off
1 = on
subsc_vif_max
Integer
Startup
Defines the max. number of online
IPoE/PPPoE subscribers
Default = 32768
Min = 1024
Max = UINT32_MAX
system_name
String
Runtime
Startup
Router system name.
Default = “the_router”
Text
tcp_mss_fix
Boolean
Runtime
Startup
Enable/disable the use of TCP MSS
fix for PPPoE traffic.
Default = 0
0 = off
1 = on
vif_id_cache
Boolean
Startup
Controls the VIF ID cache.
Default = 0
0 = off
1 = on
vif_ip_addrs_max
Integer
Startup
Maximum number of VIF IP addresses.
Default = 4096
Min = 16
Max = 65536
vif_max
Integer
Startup
Maximum number of virtual
interfaces.
Default = 256
Min = 256
Max = UINT32_MAX
vif_mirror_egress
Boolean
Runtime
Startup
Enables VIF egress traffic
mirroring.
Default = 0
0 = off
1 = on
vif_mirror_ingress
Boolean
Runtime
Startup
Enables VIF ingress traffic
mirroring.
Default = 0
0 = off
1 = on
vif_mirror_port
Integer
Runtime
Startup
Port used for VIF traffic mirroring.
Default = 0
Min = 0
Max = 255
vif_stat
Boolean
Runtime
Startup
Enables VIF statistics.
Default = 1
0 = off
1 = on
vrrp_dont_use_virtual
_mac_for_arp
Boolean
Runtime
Startup
Disables use of the VRRP virtual MAC
address for ARP.
Default = 0
0 = off
1 = on