Skip to content
Snippets Groups Projects
Kconfig 44.3 KiB
Newer Older
	help
	  Threshold level for Power Supply Right (PSR) temperature, when
	  exceeded warning is notified by SNMP via
	  WR-SWITCH-MIB::wrsTemperatureWarning
	  Require hal restart after change
config SNMP_SWCORESTATUS_DISABLE
	bool "Force SNMP object wrsSwcoreStatus to be always OK"
	help
	  Disable checking SNMP object wrsSwcoreStatus"

# config items below are not implemented in the SNMP
#config SNMP_SWCORESTATUS_HP_FRAME_RATE
#	int "Maximum allowed rate of HP frames on a port"
#	depends on !SNMP_SWCORESTATUS_DISABLE
#	default "0"
#	help
#	  Error via SNMP if rate of HP frames on any port exceed given value.
#
#config SNMP_SWCORESTATUS_RX_FRAME_RATE
#	int "Maximum allowed rate of RX frames on a port"
#	depends on !SNMP_SWCORESTATUS_DISABLE
#	default "0"
#	help
#	  Error via SNMP if rate of RX frames on any port exceed given value.
#
#config SNMP_SWCORESTATUS_RX_PRIO_FRAME_RATE
#	int "Maximum allowed rate of any RX priority"
#	depends on !SNMP_SWCORESTATUS_DISABLE
#	default "0"
#	help
#	  Error if frame rate of any RX priority exceed given value.
#
menu "System clock monitor"

config SNMP_SYSTEM_CLOCK_MONITOR_ENABLED
	depends on  NTP_SERVER != ""
	bool "Enable system clock monitor"
	default y
	help
		When set, the local system time is compared to the time 
		returned by the NTP server (CONFIG_NTP_SERVER). If the difference
		of time exceed a given threshold (CONFIG_SNMP_SYSTEM_CLOCK_DRIFT_THOLD)
		then an error will be notified to SNMP.

config SNMP_SYSTEM_CLOCK_DRIFT_THOLD
	depends on SNMP_SYSTEM_CLOCK_MONITOR_ENABLED
	int "Threshold level for local system clock drift (seconds)"
	range 1 65535
	default 3
	help
	  Threshold level for the local system clock drift compared to 
	  a NTP server. The value is expressed in seconds.
	  When the threshold exceed, warning is notified by SNMP.

choice SNMP_SYSTEM_CLOCK_CHECK_INTERVAL_UNIT
	prompt "Unit of check interval value"
	depends on SNMP_SYSTEM_CLOCK_MONITOR_ENABLED
	default SNMP_SYSTEM_CLOCK_CHECK_INTERVAL_MINUTES
	help
	  Defines the unit used for the check interval value.
	  Please note that values more than a half of possible range
	  (e.g. 40 minutes are not possible to set).
	  Check cron manual for more details.

config SNMP_SYSTEM_CLOCK_UNIT_MINUTES
	bool "Minutes"

config SNMP_SYSTEM_CLOCK_UNIT_HOURS
	bool "Hours"

config SNMP_SYSTEM_CLOCK_UNIT_DAYS
	
endchoice

config SNMP_SYSTEM_CLOCK_CHECK_INTERVAL_MINUTES
	depends on SNMP_SYSTEM_CLOCK_MONITOR_ENABLED && SNMP_SYSTEM_CLOCK_UNIT_MINUTES
	int "Interval to verify system clock (Minutes)"
	default 10
	help
	  Sets the time interval between checks of the system clock. 
	  This interval is expressed in minutes.
	  Written to cron config file as:
	  */val * * * *
	  Check cron manual for more details.

config SNMP_SYSTEM_CLOCK_CHECK_INTERVAL_HOURS
	depends on SNMP_SYSTEM_CLOCK_MONITOR_ENABLED && SNMP_SYSTEM_CLOCK_UNIT_HOURS
	int "Interval to verify system clock (Hours)"
	default 1
	help
	  Sets the time interval between checks of the system clock.
	  This interval is expressed in hours.
	  Written to cron config file  as:
	  0 */val * * *
	  Check cron manual for more details.

config SNMP_SYSTEM_CLOCK_CHECK_INTERVAL_DAYS
	depends on SNMP_SYSTEM_CLOCK_MONITOR_ENABLED && SNMP_SYSTEM_CLOCK_UNIT_DAYS
	int "Interval to verify system clock (Days)"
	default 1
	help
	  Sets the time interval between checks of the system clock.
	  This interval is expressed in days
	  Written to cron config file  as:
	  0 0 */val * *
	  Check cron manual for more details.
endmenu

menu "External clk2 clock signal configuration"
config WRSAUXCLK_FREQ
	string "Frequency of the generated clock signal in MHz"
	default "10"
	help
	  --freq parameter of wrs_auxclk
	  Desired frequency of the generated clock signal in MHz. Available
	  range from 4kHz to 250MHz.

config WRSAUXCLK_DUTY
	string "Duty cycle of the generated clock signal"
	default "0.5"
	help
	  --duty parameter of wrs_auxclk
	  Desired duty cycle given as a fraction (e.g. 0.5, 0.4).

config WRSAUXCLK_CSHIFT
	string "Coarse shift of the generated clock signal"
	default "36"
	help
	  --cshift parameter of wrs_auxclk
	  Coarse shift (granularity 2ns) of the generated clock signal. This
	  parameter can be used to get desired delay relation between generated
	  1-PPS and clk2. The delay between 1-PPS and clk2 is constant for
	  a given bitstream but may be different for various hardware versions
	  and re-synthesized gateware. Therefore it should be measured and
	  adjusted only once for given hardware and gateware version.


config WRSAUXCLK_SIGDEL
	string "Signal delay of the generated clock signal"
	default "0"
	help
	  --sigdel parameter of wrs_auxclk
	  Clock signal generated from the FPGA is cleaned by a discrete
	  flip-flop. It may happen that generated aux clock is in phase with
	  the flip-flop clock. In that case it is visible on the oscilloscope
	  that clk2 clock is jittering by 4ns. The "Signal delay" parameter
	  allows to add a precise delay to the FPGA-generated clock to avoid
	  such jitter. This delay is specified in steps, where each step is
	  around 150ps. This value, same as the "Coarse shift" parameter, is
	  constant for a given bitstream so should be verified only once.


config WRSAUXCLK_PPSHIFT
	string "Fine signal delay of the generated clock signal"
	default "0"
	help
	  --ppshift parameter of wrs_auxclk
	  If one needs to precisely align 1-PPS output with the clk2 aux clock
	  using "Coarse shift" parameter is not enough as it has
	  4ns granularity. In that case this parameter lets you shift 1-PPS
	  output by a configured number of 150ps steps. However, please have in
	  mind that 1-PPS output is used as a reference for WR calibration
	  procedure. Therefore, once this parameter is modified, the device
	  should be re-calibrated. Otherwise, 1-PPS output will be shifted
	  from the WR timescale by <steps>*150ps.

menu "NIC throttling configuration"
config NIC_THROTTLING_ENABLED
	bool "Enable NIC throttling"
	default n
	help
	  Limit the Rx bandwidth of the traffic that goes from WR ports to
	  Linux. Throttling can be enabled to prevent Linux using 100% of the
	  processing power to receive Ethernet frames coming from WR ports to
	  the CPU.

config NIC_THROTTLING_VAL
	int "NIC throttling value"
	depends on NIC_THROTTLING_ENABLED
	default "4000"
	range 1 65535
	help
	  Value to which bandwith should be limited (in KB/s).
config PPS_IN_TERM_50OHM
	bool "Enable 50ohm termination for 1-PPS input"
	default n
	help
	  Enable 50ohm termination for 1-PPS input.

menu "Custom boot script configuration"
config CUSTOM_BOOT_SCRIPT_ENABLED
	bool "Execute custom script"
	default n
	help
	  Enable execution of a custom script during boot. It can be a local
	  script placed at /wr/bin/custom_boot_script.sh or downloaded from
	  a given URL. This script can be used for some exotic configurations
	  that dot-config does not support. This scipt runs before switching
	  is enabled.

choice CUSTOM_BOOT_SCRIPT_SOURCE
	prompt "Source for a custom boot script"
	depends on CUSTOM_BOOT_SCRIPT_ENABLED
	default CUSTOM_BOOT_SCRIPT_SOURCE_LOCAL
	help
	  Defines the source of a custom boot script. Local or remote.

config CUSTOM_BOOT_SCRIPT_SOURCE_LOCAL
	bool "Use local custom script"
	help
	  Use /wr/bin/custom_boot_script.sh to be executed at boot.

config CUSTOM_BOOT_SCRIPT_SOURCE_REMOTE
	bool "Use remote custom script"
	help
	  Use the URL in CUSTOM_BOOT_SCRIPT_SOURCE_REMOTE_URL to download the
	  custom boot script.

endchoice
config CUSTOM_BOOT_SCRIPT_SOURCE_REMOTE_URL
	string "URL of a custom script"
	depends on CUSTOM_BOOT_SCRIPT_SOURCE_REMOTE
	help
	  URL to the custom script. HOSTNAME, IPADDR and MACADDR are
	  substituted before retrieving the file.

	  Example:  "tftp://morgana/custom-script-IPADDR"

endmenu

menu "LLDP options"
config LLDPD_DISABLE
	bool "Disable LLDP daemon"
	default n
	help
	  Disable LLDP daemon to prevent sending LLDP frames. It may be useful
	  for networks not using LLDP or with a low latency requirement.
config LLDPD_TX_INTERVAL
	int "LLDP TX interval"
	default 5
	depends on !LLDPD_DISABLE
	help
	  Define how often LLDP frames are sent.

config LLDPD_MANAGEMENT_PORT_DISABLE
	bool "Disable LLDP on the management port"
	default n
	depends on !LLDPD_DISABLE
	help
	  Disable LLDP traffic on management port.

config LLDPD_MINIMUM_FRAME_SIZE
	bool "Send only minimum information via LLDP"
	default n
	depends on !LLDPD_DISABLE
	help
	  Send only minimum information via LLDP. May be useful in networks
	  which require low latency.
menu "Radius-vlan options"
config RVLAN_ENABLE
	bool "Run the 'radius-vlan' authorization daemon"
	help
	  If the program runs, it implements a subset of 802.1X

config RVLAN_PMASK
	string "A port mask, as hex number, to be monitored by radiusvlan"
	depends on RVLAN_ENABLE
	default "ffffffff"
	help
	  The string must be a number, with or without leading 0x.
	  Port "wri1" is selected by bit 0 and so on until bit 17.
	  The mask is used to disable monitoring on some ports.
	  All ports not configured as 'access' are never monitored,
	  irrespective of this mask.

config RVLAN_AUTH_VLAN
	int "Default vlan to be used for ports during radius authorization"
	depends on RVLAN_ENABLE
	range 1 4094
	default 4094

config RVLAN_NOAUTH_VLAN
	int "Vlan to be used for ports whose authorization is denied"
	depends on RVLAN_ENABLE
	range 1 4094
	default 4094

config RVLAN_OBEY_DOTCONFIG
	bool "When auth is ok, ignore radius' vlan and obey dot-cofig instead"
	depends on RVLAN_ENABLE
Adam Wujek's avatar
Adam Wujek committed
	  In some installations the radius server is only used to allow/deny
	  a port to be configured in the WR network.  When this happens,
	  the vlan number it returns must be ignored, and we obey what
	  is configured in dot-config instead (e.g. CONFIG_VLANS_PORT03_VID)

config RVLAN_RADIUS_SERVERS
	string "IP Address(es) of the radius server(s)"
	depends on RVLAN_ENABLE
	default "192.168.16.181,192.168.16.182"
	help
	  This is an IPV4 address or a list of them.
	  e.g. "192.168.16.181,192.168.16.182"

config RVLAN_RADIUS_SECRET
	string "The shared secret to encrypt radius queries"
	depends on RVLAN_ENABLE
	default "our-secret"
	help
	  The secret string used by radclient as called by radiusvlan

endmenu

config READ_SFP_DIAG_ENABLE
	bool "Read SFPs' Diagnostic Monitoring"
	default y
	help
	  Let HAL to read Diagnostic Monitoring from SFPs' eeprom.

config HTTPD_DISABLE
	bool "Disable web interface"
	default n
	help
	  Disable web interface.

menu "Developer options"
config MONIT_DISABLE
	bool "Disable monit"
	default n
	help
	  Disable monit to prevent processes' restarts. It may be useful for
	  development.

menu "Fan speed control"
config FAN_HYSTERESIS
	bool "Use hysteresis to control fan speed"
	default n
	help
	  Use hysteresis to control fans. Enable fans with PWM value
	  CONFIG_FAN_HYSTERESIS_PWM_VAL} when PLL's temperature exceeds
	  CONFIG_FAN_HYSTERESIS_T_ENABLE. Disable fans when temperature drops
	  below CONFIG_FAN_HYSTERESIS_T_DISABLE. These options are intended to
	  be used during development to reduce noise generated by a switch.
	  Don't use in production as this may affect the synchronization
	  performance.
config FAN_HYSTERESIS_T_DISABLE
	int "Disable fans temperature"
	default 60
	range 0 80
	depends on FAN_HYSTERESIS
	help
	  Temperature at which fans are disabled when working in hysteresis mode.

config FAN_HYSTERESIS_T_ENABLE
	int "Enable fans temperature"
	default 65
	range 0 80
	depends on FAN_HYSTERESIS
	help
	  Temperature at which fans are enabled when working in hysteresis mode.
	  Maximum allowed value is 80

config FAN_HYSTERESIS_PWM_VAL
	int "Value of fans' PWM"
	default 100
	range 4 1000
	depends on FAN_HYSTERESIS
	help
	  PWM value used to drive fans. Range from 4 to 1000.

choice
	prompt "Compilation optimization"
    
    config OPTIMIZATION_SPEED
        boolean "Execution time (-O2)"
        help
           GCC performs nearly all supported optimizations that do not involve a space-speed tradeoff.
           
     config OPTIMIZATION_SIZE_SPEED
        boolean "Size and execution time (-Os)"
        help
           Optimize for size. Enables all -O2 optimizations except those that often increase code size.
           
     config OPTIMIZATION_DEBUGGING
        boolean "Debugging (-Og)"
           Should be the optimization level choice for the standard edit-compile-debug cycle

     config OPTIMIZATION_NONE_DEBUGGING
        boolean "Debugging without optimization(-ggdb)"
        help
           Compile without optimization and with debug informations 
endchoice

config OPTIMIZATION
	string
	default "-Os -ggdb" if OPTIMIZATION_SIZE_SPEED
	default "-O2 -ggdb" if OPTIMIZATION_SPEED
	default "-Og -ggdb" if OPTIMIZATION_DEBUGGING
	default "-ggdb" if OPTIMIZATION_NONE_DEBUGGING
	default "-ggdb"

endmenu # "Developer options"

menu "RTU HP mask"

config RTU_HP_MASK_ENABLE
	bool "Set custom High Priority mask in RTU"
	default n
	help
	  Set the mask which priorities are considered High Priority (this
	  only concerns the traffic which is fast-forwarded).


config RTU_HP_MASK_VAL
	string "HP mask"
	default 0
	depends on RTU_HP_MASK_ENABLE
	help
	  Mask with priorities (eg. 0x9 => priority 4 and 0 are considered HP)


endmenu

source Kconfig_vlans.in