Skip to content
Snippets Groups Projects
Kconfig_port_timing.in 244 KiB
Newer Older
menu "PORT 1"

config PORT01_IFACE
	string "Network interface"
	default "wri1"
	  Used to set the physical port interface name: "wri[1-18]"
config PORT01_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT01_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT01_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT01_INSTANCE_COUNT_1
	config PORT01_INSTANCE_COUNT_0
	  bool "0"
	config PORT01_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT01_INSTANCE_COUNT_1
choice
    prompt "Network protocol"
    default PORT01_INST01_PROTOCOL_RAW
    config PORT01_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT01_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT01_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT01_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.1"
	help
	  IP to be set on an interface assigned to this instance

config PORT01_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT01_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT01_INST01_MECHANISM_E2E
    config PORT01_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT01_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT01_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT01_INST01_PROFILE_KEEP_GLOBAL
	config PORT01_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT01_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT01_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT01_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT01_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT01_INST01_PROFILE_HA_WR \
		|| PORT01_INST01_PROFILE_CUSTOM
	default PORT01_INST01_EXTENSION_NONE if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT01_INST01_PROFILE_PTP
	default PORT01_INST01_EXTENSION_WR if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT01_INST01_PROFILE_HA_WR
	config PORT01_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT01_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT01_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT01_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT01_INST01_DESIRADE_STATE_SLAVE if TIME_BC
	default PORT01_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT01_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT01_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
	config PORT01_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
config PORT01_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT01_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT01_INST01_PROFILE_PTP \
		    || PORT01_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT01_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	help
	  Defines the transmission constant delay (ps)

config PORT01_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	help
	  Defines the reception constant delay (ps)
config PORT01_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT01_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT01_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT01_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT01_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT01_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"
config PORT01_INST01_ANNOUNCE_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "logAnnounceInterval" if PORT01_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT01_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT01_INST01_ANNOUNCE_RECEIPT_TIMEOUT
Adam Wujek's avatar
Adam Wujek committed
	int "announceReceiptTimeout" if PORT01_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT01_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT01_INST01_SYNC_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "logSyncInterval" if PORT01_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT01_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT01_INST01_MECHANISM_E2E

config PORT01_INST01_MIN_DELAY_REQ_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "minDelayRequestInterval" if PORT01_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT01_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT01_INST01_MECHANISM_P2P

config PORT01_INST01_MIN_PDELAY_REQ_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "minPDelayRequestInterval" if PORT01_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
Adam Wujek's avatar
Adam Wujek committed
# Use following options if L1Sync or extension autonegotiation is enabled
Adam Wujek's avatar
Adam Wujek committed
if PORT01_INST01_EXTENSION_L1S || PORT01_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT01_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
Adam Wujek's avatar
Adam Wujek committed
	depends on (PORT01_INST01_PROFILE_CUSTOM || (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT01_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT01_INST01_PROFILE_CUSTOM || (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT01_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
Adam Wujek's avatar
Adam Wujek committed
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED
Adam Wujek's avatar
Adam Wujek committed
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT01_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.

config PORT01_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
Adam Wujek's avatar
Adam Wujek committed
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED

config PORT01_INST01_L1SYNC_RECEIPT_TIMEOUT
Adam Wujek's avatar
Adam Wujek committed
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT01_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT01_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT01_INST01_L1SYNC_ENABLED
config PORT01_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT01_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT01_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT01_INST01_L1SYNC_ENABLED
config PORT01_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT01_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT01_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT01_INST01_L1SYNC_ENABLED
config PORT01_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT01_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT01_INST01_L1SYNC_ENABLED
config PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT01_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED
config PORT01_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT01_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
Adam Wujek's avatar
Adam Wujek committed
endif # PORT01_INST01_EXTENSION_L1S || PORT01_INST01_EXTENSION_L1S_WR

# Keep T24P_TRANS_POINT also for ports without instances
config PORT01_INST01_T24P_TRANS_POINT
config PORT02_IFACE
	string "Network interface"
	default "wri2"
	  Used to set the physical port interface name: "wri[1-18]"
config PORT02_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT02_FIBER
	int  "Fiber type"
	default 0
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)
config PORT02_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	   Used to set the constant delay asymmetry.
choice
	prompt "Number of port instances"
	default PORT02_INSTANCE_COUNT_1
	config PORT02_INSTANCE_COUNT_0
	  bool "0"
	config PORT02_INSTANCE_COUNT_1
	  bool "1"
endchoice
menu "Instance 1"
	depends on PORT02_INSTANCE_COUNT_1
choice
    prompt "Network protocol"
    default PORT02_INST01_PROTOCOL_RAW
    config PORT02_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT02_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT02_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT02_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.2"
	help
	  IP to be set on an interface assigned to this instance

config PORT02_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT02_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT02_INST01_MECHANISM_E2E
    config PORT02_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT02_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT02_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT02_INST01_PROFILE_KEEP_GLOBAL
	config PORT02_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT02_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT02_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT02_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT02_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT02_INST01_PROFILE_HA_WR \
		|| PORT02_INST01_PROFILE_CUSTOM
	default PORT02_INST01_EXTENSION_NONE if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT02_INST01_PROFILE_PTP
	default PORT02_INST01_EXTENSION_WR if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT02_INST01_PROFILE_HA_WR
	config PORT02_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT02_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT02_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT02_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT02_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT02_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT02_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
	config PORT02_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
config PORT02_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT02_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT02_INST01_PROFILE_PTP \
		    || PORT02_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT02_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	help
	  Defines the transmission constant delay (ps)
config PORT02_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	help
	  Defines the reception constant delay (ps)
config PORT02_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT02_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT02_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT02_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT02_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT02_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"
config PORT02_INST01_ANNOUNCE_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "logAnnounceInterval" if PORT02_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT02_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT02_INST01_ANNOUNCE_RECEIPT_TIMEOUT
Adam Wujek's avatar
Adam Wujek committed
	int "announceReceiptTimeout" if PORT02_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT02_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT02_INST01_SYNC_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "logSyncInterval" if PORT02_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT02_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT02_INST01_MECHANISM_E2E

config PORT02_INST01_MIN_DELAY_REQ_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "minDelayRequestInterval" if PORT02_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT02_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT02_INST01_MECHANISM_P2P

config PORT02_INST01_MIN_PDELAY_REQ_INTERVAL
Adam Wujek's avatar
Adam Wujek committed
	int "minPDelayRequestInterval" if PORT02_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
Adam Wujek's avatar
Adam Wujek committed
# Use following options if L1Sync or extension autonegotiation is enabled
Adam Wujek's avatar
Adam Wujek committed
if PORT02_INST01_EXTENSION_L1S || PORT02_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT02_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
Adam Wujek's avatar
Adam Wujek committed
	depends on (PORT02_INST01_PROFILE_CUSTOM || (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT02_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT02_INST01_PROFILE_CUSTOM || (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT02_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
Adam Wujek's avatar
Adam Wujek committed
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED
Adam Wujek's avatar
Adam Wujek committed
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT02_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.

config PORT02_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
Adam Wujek's avatar
Adam Wujek committed
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED

config PORT02_INST01_L1SYNC_RECEIPT_TIMEOUT
Adam Wujek's avatar
Adam Wujek committed
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT02_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT02_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT02_INST01_L1SYNC_ENABLED
config PORT02_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT02_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT02_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT02_INST01_L1SYNC_ENABLED
config PORT02_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT02_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT02_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT02_INST01_L1SYNC_ENABLED
config PORT02_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT02_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT02_INST01_L1SYNC_ENABLED
config PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT02_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
Adam Wujek's avatar
Adam Wujek committed
	depends on PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED
config PORT02_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
Adam Wujek's avatar
Adam Wujek committed
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT02_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
Adam Wujek's avatar
Adam Wujek committed
endif # PORT02_INST01_EXTENSION_L1S || PORT02_INST01_EXTENSION_L1S_WR

# Keep T24P_TRANS_POINT also for ports without instances
config PORT02_INST01_T24P_TRANS_POINT
	string "Network interface"
	  Used to set the physical port interface name: "wri[1-18]"
config PORT03_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT03_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT03_INSTANCE_COUNT_1
	config PORT03_INSTANCE_COUNT_0
	config PORT03_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT03_INSTANCE_COUNT_1
choice
    prompt "Network protocol"
    default PORT03_INST01_PROTOCOL_RAW
    config PORT03_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT03_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT03_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT03_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.3"
	help
	  IP to be set on an interface assigned to this instance

config PORT03_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT03_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT03_INST01_MECHANISM_E2E
    config PORT03_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT03_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT03_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT03_INST01_PROFILE_KEEP_GLOBAL
	config PORT03_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT03_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT03_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT03_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT03_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT03_INST01_PROFILE_HA_WR \
		|| PORT03_INST01_PROFILE_CUSTOM
	default PORT03_INST01_EXTENSION_NONE if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT03_INST01_PROFILE_PTP
	default PORT03_INST01_EXTENSION_WR if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT03_INST01_PROFILE_HA_WR
	config PORT03_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT03_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT03_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT03_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT03_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT03_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT03_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
	config PORT03_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
config PORT03_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT03_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT03_INST01_PROFILE_PTP \
		    || PORT03_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT03_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	help
	  Defines the transmission constant delay (ps)
config PORT03_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	help
	  Defines the reception constant delay (ps)
config PORT03_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT03_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT03_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT03_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT03_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT03_INST01_ANNOUNCE_INTERVAL_OVERWRITE