|Standard:||IEEE Std 802.1Q-2018||Clause:||22.214.171.124.16|
Rationale for revision
The current text in 126.96.36.199.16 states “A Boolean variable, set to TRUE ... at one nanosecond intervals”. This is “factual” language and not “normative” language, as it is missing a “... shall be set ...”. The NOTE at the bottom of same clause seems to indicate that the boolean variable is actually not set at “one nanosecond intervals” at all, but rather at TickGranularity intervals. This is in contrast to what is stated earlier and in contrast to the “List Execute state machine” in Figure 8-17 of clause 188.8.131.52. Furthermore TickGranularity has units of 1/10s nanoseconds and can therefore not be accurately subtracted from ExitTimer, which is in full nanoseconds. Furthermore there is a conflict between 184.108.40.206.16 and 12.29, which the NOTE points out. NOTEs cannot contain normative text, so there is no way that the NOTE can override the preceding text nor arbitrate between it and 12.29. There is no descriptive or normative clause for TickGranularity, it is therefore unclear what the expected behaviour is.
a) Either clarify that this is a “model” description and the exact timing behaviour is not mandated b) or modify the mentioned paragraphs to specify (using “shall”-statements) the exact timing and timing accuracy behaviour intended by the standard. I would prefer b) and would be happy to provide language!
Impact on existing networks
Currently implementations may differ in timing behaviour and thereby cause unexpected behaviour in delays and buffer occupation in bridges, which may lead to packet loss.
|Affiliation:||Ethernovia, BMW, Ruetz System Solutions|