Skip to content
Snippets Groups Projects
Kconfig 18.2 KiB
Newer Older

mainmenu "White Rabbit Switch  configuration"

config DOTCONF_URL

	string "URL for a run-time replacement of dot-config"
	help
	  The White Rabbit Switch is configured at run-time,
	  according to a dot-config .config file. The file
	  is the same .config you are defining now.  If you
	  select an empty string, dot-config is not replaced
	  at run time.  Otherwise, tftp://, ftp:// or http://
	  URLs are allowed. Names are allowed if you configured
	  a DNS server.  The special strings IPADDR and MACADDR
	   are substituted before retrieving the file.
	  Example:  "tftp://morgana/wrs-config-IPADDR"

config BR2_CONFIGFILE
	string "Configuration file for Buildroot"
	default "wrs_release_br2_config"
	help
	  The configuration file selects which packages are to be
	  included in the WRS filesystem and which are not.  If
	  you pass a relative pathname, the build procedure will
	  look for it in wr-switch-sw/configs/buildroot, while
	  absolute pathnames are used unchanged.

	  If the string being passed doesn't refer to a file, the
	  scripts print a warning and use the default file. Incorrect
	  files lead to unpredicatable results.

	default y
menu "Local Network Configuration"
choice
	prompt "Management port configuration (eth0)"
	default ETH0_DHCP

config ETH0_DHCP
	bool "DHCP forever"
	help
	  Try DHCP on management port (eth0) forever.

config ETH0_DHCP_ONCE
	bool "Try DHCP, if fail use static address"
	help
	  Try DHCP on management port (eth0) for a while, then configure
	  static IP. Useful, when you move switch between various development
	  enviroments.

config ETH0_STATIC
	bool "Static address"
	help
	  Use static address on management port (eth0). Don't try to DHCP.

endchoice

menu "Management port (eth0) Address"
depends on ETH0_DHCP_ONCE || ETH0_STATIC

config ETH0_IP
	string "Static IP address of management port (eth0)"
	default "192.168.1.254"
	help
	  Static IP address of management port (eth0). Please note that
	  wrong IP address will generate a runtime error on the switch.

config ETH0_MASK
	string "Mask of management port (eth0)"
	default "255.255.255.0"
	help
	  Mask of management port (eth0). Please note that wrong mask will
	  generate a runtime error on the switch.

config ETH0_NETWORK
	string "Network of management port (eth0)"
	default "192.168.1.0"
	help
	  Network of management port (eth0). Please note that wrong network
	  will generate a runtime error on the switch.

config ETH0_BROADCAST
	string "Broadcast of management port (eth0)"
	default "192.168.1.255"
	help
	  Broadcast of management port (eth0). Please note that wrong broadcast
	  will generate a runtime error on the switch.

config ETH0_GATEWAY
	string "Default gateway of management port (eth0)"
	default "192.168.1.1"
	help
	  Default gateway of management port (eth0). Please note that
	  wrong gateway address will generate a runtime error on the switch.

endmenu

config NTP_SERVER
	string "IP address of local NTP server (empty for none)"
	help
	  At boot time, the White Rabbit time is primed by querying
	  an NTP server, if any is there.  Please write here the
	  IPV4 address (e.g.: "192.168.16.1"); an empty string
	  disables NTP-based priming.

config DNS_SERVER
	string "static IP address of local DNS server (empty for none)"
	help
	  Using names instead of IP addresses is sometimes handy. This
	  option allow to specify a static server name, that is stored
	  in /etc/resolv.conf, within the WRS image being built. If
	  the string is empty, /etc/resolv.conf is managed according
	  to buildroot defaults.

config DNS_DOMAIN
	string "Default domain for DNS resolution"
	help
	  If CONFIG_DNS_SERVER is being used, this option may be
	  useful as well.

config REMOTE_SYSLOG_SERVER
	string "Send WRS syslog messages to this remote host"
	help
	  This IP address or name, if not empty enables remote syslog
	  in the switch; all messages are sent to this specific host.

config REMOTE_SYSLOG_UDP
	bool "Use UDP for syslog messages"
	default y
	help
	  Select UDP to send system logs. If not set, TCP is used.

config WRS_LOG_HAL
	string "Logging directions for the WR hal"
	default "daemon.info"
	help
	  The string can be a pathname (e.g. /dev/kmsg) or a <facility>.<level>
	  spefification like "daemon.debug". An empty strings is used
	  to represent no logging (like /dev/null).  Please note that
	  unknown facility names will generate a runtime error on the switch.

config WRS_LOG_RTU
	string "Logging directions for the RTU daemon"
	default "daemon.info"
	help
	  The string can be a pathname (e.g. /dev/kmsg) or a <facility>.<level>
	  spefification like "daemon.debug". An empty strings is used
	  to represent no logging (like /dev/null).  Please note that
	  unknown facility names will generate a runtime error on the switch.

config WRS_LOG_PTP
	string "Logging directions for the PTP server (ptpd or ppsi)"
	default "daemon.info"
	help
	  The string can be a pathname (e.g. /dev/kmsg) or a <facility>.<level>
	  spefification like "daemon.debug". An empty strings is used
	  to represent no logging (like /dev/null).  Please note that
	  unknown facility names will generate a runtime error on the switch.

config WRS_LOG_SNMPD
	string "Logging directions for the SNMP daemon"
	default "sd"
	help
	  The string can be a pathname (e.g. /dev/kmsg) or a valid snmpd log
	  option (without -L). "sd" or "s daemon" will forward messages to
	  syslog with daemon as facility. To set level (i.e. 5) use
	  "S 5 daemon". For details please check "man snmpcmd". An empty
	  strings is used  to represent no logging (like /dev/null). Please
	  note that unknown facility names will generate a runtime error on the
	  switch.

config WRS_LOG_MONIT
	string "Logging directions for the monit"
	default "syslog"
	help
	  The string can be a pathname (e.g. /dev/kmsg) or a "syslog" string.
	  An empty strings is used  to represent no logging. If it is needed to
	  select facility and level please leave here empty string and change
	  /etc/monitrc file directly.
	  Please note that unknown facility names will generate a runtime error
	  on the switch.

config KEEP_ROOTFS
	bool "Keep generated filesystem and related script"
	help
	  During development of build scripts, it may be useful
	  to keep the generated root filesystem as well as the
	  script used to create it. If selected, the build script
	  will report the actual file names at each build.
	  If unsusre, say N.

endmenu

menu "Port Timing Configuration"

config PORT00_PARAMS
	string "Parameters for the first port"
	default "name=wr0,proto=raw,tx=0,rx=160000,role=slave,fiber=0" if TIME_BC
	default "name=wr0,proto=raw,tx=0,rx=160000,role=master,fiber=0"
	help
	  This item, and the following ones, are used to assign the
	  constant delays (likely from calibration), protocol type (raw or udp),
	  port roles and type of fiber for each of the ports. Please refer to
	  the user manual for more information.

config PORT01_PARAMS
	string "Parameters for the second port"
	default "name=wr1,proto=raw,tx=0,rx=160000,role=master,fiber=0"

config PORT02_PARAMS
	string "Parameters for a further port"
	default "name=wr2,proto=raw,tx=0,rx=160000,role=master,fiber=0"

config PORT03_PARAMS
	string "Parameters for a further port"
	default "name=wr3,proto=raw,tx=0,rx=160000,role=master,fiber=0"

config PORT04_PARAMS
	string "Parameters for a further port"
	default "name=wr4,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT05_PARAMS
	string "Parameters for a further port"
	default "name=wr5,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT06_PARAMS
	string "Parameters for a further port"
	default "name=wr6,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT07_PARAMS
	string "Parameters for a further port"
	default "name=wr7,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT08_PARAMS
	string "Parameters for a further port"
	default "name=wr8,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT09_PARAMS
	string "Parameters for a further port"
	default "name=wr9,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT10_PARAMS
	string "Parameters for a further port"
	default "name=wr10,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT11_PARAMS
	string "Parameters for a further port"
	default "name=wr11,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT12_PARAMS
	string "Parameters for a further port"
	default "name=wr12,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT13_PARAMS
	string "Parameters for a further port"
	default "name=wr13,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT14_PARAMS
	string "Parameters for a further port"
	default "name=wr14,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT15_PARAMS
	string "Parameters for a further port"
	default "name=wr15,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT16_PARAMS
	string "Parameters for a further port"
	default "name=wr16,proto=raw,tx=0,rx=161200,role=master,fiber=0"

config PORT17_PARAMS
	string "Parameters for a further port"
	default "name=wr17,proto=raw,tx=0,rx=161200,role=master,fiber=0"
menu "SFP and Media Timing Configuration"

config SFP00_PARAMS
	string "Parameters for one SFP device type"
	default "vn=Axcen Photonics,pn=AXGE-1254-0531,tx=10,rx=10,wl_txrx=1310+1490"
	help
	  This parameter, and the following ones, are used to
	  configure the timing parameters of a specific SFP
	  tranceiver. The tranceiver name is autodected for each port
	  in the White Rabbit Switch, and you need one configuration
	  entry for each tranceiver type that is installed in your
	  device.

config SFP01_PARAMS
	string "Parameters for one SFP device type"
	default "vn=Axcen Photonics,pn=AXGE-3454-0531,tx=10,rx=10,wl_txrx=1490+1310"

config SFP02_PARAMS
	string "Parameters for one SFP device type"

config SFP03_PARAMS
	string "Parameters for one SFP device type"

config SFP04_PARAMS
	string "Parameters for one SFP device type"

config SFP05_PARAMS
	string "Parameters for one SFP device type"

config SFP06_PARAMS
	string "Parameters for one SFP device type"

config SFP07_PARAMS
	string "Parameters for one SFP device type"

config SFP08_PARAMS
	string "Parameters for one SFP device type"

config SFP09_PARAMS
	string "Parameters for one SFP device type"


config FIBER00_PARAMS
	string "Alpha parameters for fiber type 0"
	default "alpha_1310_1490=2.6787e-04"
	help
	  This parameter, and the following ones, specify the physical
	  features of your fiber type.  You need to specify the alpha
	  value for each pair of wavelengths you are using. The index
	  ("00" onwards) is used to match the port
	  (CONFIG_PORTxx_PARAMS) with one of several installed fiber
	  types.

config FIBER01_PARAMS
	string "Alpha parameters for fiber type 1"
	default "alpha_1310_1490=2.6787e-04"

config FIBER02_PARAMS
	string "Alpha parameters for fiber type 2"
	default "alpha_1310_1490=2.6787e-04"

config FIBER03_PARAMS
	string "Alpha parameters for fiber type 3"
	default "alpha_1310_1490=2.6787e-04"


choice
	prompt "Timing Mode"
	default TIME_BC

config TIME_GM
	bool "Grand-Master"
	help
	  This options selects the White Rabbit Switch as a grandmaster,
	  i.e. it uses its input channels to track an Atomic or GPS and
	  claim to be a PTP authoritative source on the network.

config TIME_FM
	bool "Free-Running Master"
	help
	  The White Rabbit Switch pretends to be a master on his PTP
	  network, but it doesn't sync to an external source. Its own
	  internal clocks and counters are used to drive timing.

config TIME_BC
	bool "Boundary Clock"
	help
	  The White Rabbit Switch is a normal PTP Boundary Clock: it is
	  slave on one of its ports and master on the other ones, according
	  to the standard Best Master Clock algorithm.

endchoice

choice
	prompt "PTP Port Assignment"
	default PTP_PORT_PARAMS
config PTP_PORT_PARAMS
	bool "Raw Ethernet, WR on, Slave on wr0, Master on other ports"
	  You can choose wether to use parameters defined in PORTXX_PARAMS or
	  your own custom configuration file /wr/etc/ppsi.conf_custom
	  The default setting for boundary clock forces port wr0
	  to be PTP slave and all other ports to be master, in
	  Ethernet mode and with full WR protocol extensions. The default
	  for a Grand-Master or Free-Running master has all ports as
	  master ports. PPSI's global settings can be set in file
	  /wr/etc/ppsi-pre.conf

	  Other predefined choices select more flexible configuration used
	  mainly for test purposes. Any special need can be addressed by
	  providing your own ppsi.conf_custom file, that you should copy
	bool "Custom ppsi.conf"
config PTP_CUSTOM_FILENAME
	string "Pathname for your custom ppsi.conf"
	depends on PTP_CUSTOM
	default "/wr/etc/ppsi-custom.conf"


menu "Management configuration"
config SNMP_TRAPSINK_ADDRESS
	string "Static IP address or name where to send SNMPv1 traps"
	help
	  If not empty, the address or name is ussed as "trapsink"
	  destination in the SNMP configuration file for the switch.
	  It empty, no v1 traps are generated. If both this and
	  the following TRAP2SINK_ADDRESS are set, snmpd sends two
	  traps (one per protocol version). Trapcommunity is "public"
	  (not configurable so far).

config SNMP_TRAP2SINK_ADDRESS
	string "Static IP address or name where to send SNMPv2c traps"
	help
	  If not empty, the address or name is ussed as "trap2sink"
	  destination in the SNMP configuration file for the switch.
	  It empty, no v2c traps are generated. Trapcommunity is "public"
	  (not configurable so far).

config SNMP_RO_COMMUNITY
	string "Read-only community name for SNMP V1/V2 management"
	default "public"
	help
	  If not empty, the 'community' name is a sort of password,
	  that travels as clear text (we don't support encrypted SNMPv3
	  yet). The default is good for testing, but should be changed
	  for production. Please note, however, that the switch processes
	  SNMP only on the CPU Ethernet port (the copper "management" port).

config SNMP_RW_COMMUNITY
	string "Read-write community name for SNMP V1/V2 management"
	default "private"
	help
	  If not empty, the 'community' name is a sort of password,
	  that travels as clear text (we don't support encrypted SNMPv3
	  yet). The default is good for testing, but should be changed
	  for production. Please note, however, that the switch processes
	  SNMP only on the CPU Ethernet port (the copper "management" port).

config SNMP_TEMP_THOLD_FPGA
	int "Threshold level for FPGA temperature"
	default "0"
	help
	  Threshold level for FPGA temperature, when exceeded warning is
	  notified by SNMP via WR-SWITCH-MIB::wrsTemperatureWarning
	  Require hal restart after change

config SNMP_TEMP_THOLD_PLL
	int "Threshold level for PLL temperature"
	default "0"
	help
	  Threshold level for PLL temperature, when exceeded warning is
	  notified by SNMP via WR-SWITCH-MIB::wrsTemperatureWarning
	  Require hal restart after change

config SNMP_TEMP_THOLD_PSL
	int "Threshold level for Power Supply Left (PSL) temperature"
	default "0"
	help
	  Threshold level for Power Supply Left (PSL) temperature, when
	  exceeded warning is notified by SNMP via
	  WR-SWITCH-MIB::wrsTemperatureWarning
	  Require hal restart after change

config SNMP_TEMP_THOLD_PSR
	int "Threshold level for Power Supply Right (PSR) temperature"
	default "0"
	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_HP_FRAME_RATE
	int "Maximum allowed rate of HP frames on a port"
	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"
	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"
	default "0"
	help
	  Error if frame rate of any RX priority exceed given value.

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 "Developer options"
config MONIT_DISABLE
	bool "Disable monit"
	default n
	help
	  Disable monit to prevent processes' restarts. It may be useful for
	  development.

endmenu