1man(8) synce4l man page man(8)
2
3
4
6 synce4l - Synchronous Ethernet (SyncE) controller application
7
8
10 synce4l -f [file] [-l <num>] [-m] [-q] [-v] [-h]
11
12
14 synce4l is an implementation of the Synchronous Ethernet (SyncE) proto‐
15 col according to ITU-T Rec. G.8264. The design goal is to provide logic
16 to supported hardware by processing Ethernet Synchronization Messaging
17 Channel (ESMC) and control Ethernet Equipment Clock (EEC) on Network
18 Card Interface (NIC).
19
20 Application can operate in two mutually exclusive modes: line or exter‐
21 nal.
22
23
24 External input mode
25 If `synce4l` is configured to run in external input mode then
26 EEC needs to have external 1PPS source attached (GPS or other
27 generator). In this scenario `synce4l` always broadcasts clock
28 quality level (QL) defined in configuration file. Additionally,
29 for external input mode incoming SyncE frames do not participate
30 in best source selection algorithm for EEC.
31
32
33 Line input mode
34 In line input mode incoming SyncE frames are processed and best
35 clock source is extracted from the link having the best quality
36 level. `synce4l` configures such "best quality" port as a
37 source to recover clock for EEC. The recovered QL is broadcasted
38 to all other interfaces then. An external clock source cannot
39 be used in this mode.
40
41
43 -f [file]
44 read configuration from 'file' (config file takes precedence
45 over command line arguments)
46
47 -l [num]
48 set the logging level to 'num' (0: least detailed, 7: most de‐
49 tailed)
50
51 -m print messages to stdout
52
53 -q do not print messages to the syslog
54
55 -v print synce4l version and exit
56
57 -h print this message and exit
58
59
61 Configuration file contains three sections:
62
63 - global,
64
65 - device,
66
67 - port.
68
69
70 Global section
71 This section starts with `[global]` keyword. It sets the logging op‐
72 tions.
73 Available options:
74
75 logging_level
76 Minimum log level required to appear in a log.
77
78 Defaults to 6, valid values are 0 - 7
79
80 message_tag
81 Tag reported in a log.
82
83 use_syslog
84 Set to 1 if `syslog` should be used.
85
86 Defaults to 1, valid values are 0 or 1
87
88 verbose
89 Set to 1 to log extra information.
90
91 Defaults to 0, valid values are 0 or 1
92
93
94 Device section
95 This section specifies the configuration of a one logical device e.g.
96 'synce1'. The name is defined by the user. The name has no impact for
97 any functionality except traces. The name must be enclosed in extra
98 angle bracket when defining new device section e.g. [<synce1>]. All
99 ports defined by port sections after the device section will create one
100 SyncE device (until next device section).
101 Available options:
102
103 input_mode
104 Set to "line" to enable line input mode, set "external"
105 for external input mode.
106
107 Defaults to "line", valid values are "line" or "external"
108
109 external_input_QL
110 Quality Level (QL) for "external input" mode.
111
112 Valid values specified in ITU-T Recommendations
113
114 external_input_ext_QL
115 Extended Quality Level for "external input" mode.
116
117 Valid values specified in ITU-T Recommendations
118
119 extended_tlv
120 Set to 1 to enable extended QL.
121
122 Defaults to 0, valid values are 0 or 1
123
124 network_option
125 Network option according to T-REC-G.8264. All devices in
126 SyncE domain should have the same option configured.
127
128 Defaults to 1, valid values are 1 or 2
129
130 recover_time
131 Seconds indicating the minimum time to recover from the
132 QL-failed state on the port.
133
134 Defaults to 60, valid values are 10 - 720
135
136 get_eec_state_cmd
137 Defines a shell command which will be executed by synce4l
138 to acquire current state of a SyncE EEC on the device.
139 Separated command must be provided by the user for each
140 device confgured for frequency synchronization. The com‐
141 mand shall output current state of EEC to stdout, ex‐
142 pected values are defined (also by the user) with follow‐
143 ing configuration items: eec_holdover_value,
144 eec_locked_ho_value, eec_locked_value, eec_freerun_value,
145 eec_invalid_value.
146
147 eec_holdover_value
148 Defines a string value expected on stdout stream when EEC
149 is in HOLDOVER state.
150
151 eec_locked_ho_value
152 Defines a string value expected on stdout stream when EEC
153 is in LOCKED HOLDOVER state.
154
155 eec_locked_value
156 Defines a string value expected on stdout stream when EEC
157 is in LOCKED state.
158
159 eec_freerun_value
160 Defines a string value expected on stdout stream when EEC
161 is in FREERUN state.
162
163 eec_invalid_value
164 Defines a string value expected on stdout stream when EEC
165 is in INVALID state.
166
167 Port section
168 Any other section not starting with `<` (e.g. [eth0]) is the port sec‐
169 tion. Multiple port sections are allowed. Each port participates in
170 SyncE communication.
171 Available options:
172
173 tx_heartbeat_msec
174 Interval between consecutive SyncE frame transmissions
175 (1000ms recommended).
176
177 Defaults to 1000, valid values are 100 - 3000
178
179 rx_heartbeat_msec
180 Interval between consecutive SyncE socket polls (frame
181 receive).
182
183 Defaults to 50, valid values are 10 - 500
184
185 recover_clock_enable_cmd
186 A shell command which enables PHY port pointed by this
187 Port section as a source of frequency for the SyncE EEC
188 on this device (required only in "internal input" mode).
189
190 recover_clock_disable_cmd
191 A shell command which disables PHY port pointed by this
192 Port section as a source of frequency for the SyncE EEC
193 on this device (required only in "internal input" mode).
194
195 allowed_qls
196 List of integers containing allowed SSM QLs separated by
197 comma (`,`), other received ones would be discarded. If
198 parameter is not provided, all QLs will be accepted.
199
200 allowed_ext_qls
201 List of integers containing allowed extended SSM QLs sep‐
202 arated by comma (`,`), other received ones would be dis‐
203 carded. If parameter is not provided, all QLs will be ac‐
204 cepted.
205
207 No known bugs.
208
209
211 Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
212
213 Michal Michalik <michal.michalik@intel.com>
214
215
216
2171.0 27 Oct 2022 man(8)