Time-sensitive network (TSN) node and method of operation
Embodiments include methods performed by a time-sensitive network (TSN) node configured for frame replication and elimination for reliability (FRER). Such methods include receiving a plurality of member streams via a corresponding plurality (n) of disjoint paths in the TSN. Each member stream includes a replication of packets comprising a stream. Such methods include performing the following diagnostics on the received member streams: a first group of diagnostics related to member stream failures, a second group of diagnostics related to packets received out-of-window, a third group of diagnostics related to stream outages, and a fourth group of diagnostics related to recovery timeouts for the TSN node. Other embodiments include TSN nodes configured to perform such methods.
1 . A method performed by a time-sensitive network (TSN) node configured for frame replication and elimination for reliability (FRER), the method comprising:
receiving a plurality of member streams via a corresponding plurality (n) of disjoint paths in the TSN, wherein each member stream includes a replication of packets comprising a stream; and
performing the following diagnostics on the received member streams:
a first group of diagnostics related to member stream failures,
a second group of diagnostics related to packets received out-of-window,
a third group of diagnostics related to stream outages, and
a fourth group of diagnostics related to recovery timeouts for the TSN node,
wherein the first, second, and third groups of diagnostics are performed on the received member streams during each of a plurality of consecutive analysis periods and one or more of the following applies:
performing the first group of diagnostics for each analysis period comprises determining a number of packets retained and a number of duplicate packets discarded during each analysis period; and
each packet includes a sequence number and the TSN node is configured with a lost packets counter and a history window indicating a range of consecutive packet sequence numbers, based on which the second group of diagnostics are performed.
2 . The method of claim 1 , further comprising, for each packet comprising the stream, retaining the packet received on one of the member streams and discarding duplicates of the packet received on other of the member streams.
3 . The method of claim 1 , wherein performing the first group of diagnostics for each analysis period further comprises, when the number of duplicate packets discarded during an analysis period is at least a configured threshold amount less than ((n minus 1) times the number of packets retained during the analysis period), entering a packet loss state and generating one or more of the following:
a first error signal (SIGNAL_PACKET_ ABSENT) indicating detection of packet loss in one or more member streams;
a second error signal (SIGNAL_DYSFUNCTIONAL_PATHS) indicating a number of dysfunctional paths; and
a third error signal (SIGNAL_LATENT_ ERROR) indicating the packet loss state.
4 . The method of claim 3 , wherein the number of dysfunctional paths, indicated by the second error signal, is based on a ratio between the following during the analysis period: the number of duplicate packets discarded, and the number of packets retained.
5 . The method of claim 3 , wherein performing the first group of diagnostics for each analysis period further comprises exiting the packet loss state and entering a normal state of operation when the number of duplicate packets discarded during a subsequent analysis period is no longer at least the configured threshold amount less than ((n minus 1) times the number of packets retained during the subsequent analysis period).
6 . The method of claim 1 , wherein performing the first group of diagnostics for each analysis period further comprises generating a fourth error signal (SIGNAL_MORE_PACKETS_THAN_EXPECTED) and entering a too-many-packets-received state, when the number of packets retained during an analysis period is at least a configured threshold amount greater than an expected number of packets retained during the analysis period.
7 . The method of claim 6 , wherein the fourth error signal (SIGNAL_MORE_PACKETS_THAN_EXPECTED) includes an indication of how many packets more than the expected number of packets were retained, as a percentage of number of expected packets from each member stream during the analysis period.
8 . The method of claim 1 , wherein performing the second group of diagnostics for each analysis period comprises generating a fifth error signal (SIGNAL_OUTOFWINDOW_PACKETS) when one or more packets retained, during an analysis period, have respective sequence numbers outside of the history window.
9 . The method of claim 8 , wherein:
the TSN node is configured with a rogue packet counter, which is incremented by a number of packets with sequence numbers outside of the history window that are retained during each analysis period; and
the fifth error signal (SIGNAL_OUTOFWINDOW_PACKETS) is generated when a value of the rogue packet counter for an analysis period is greater than a previous value of the rogue packet counter for a most recent analysis period.
10 . The method of claim 9 , wherein the fifth error signal (SIGNAL_OUTOFWINDOW_PACKETS) includes the value of the rogue packet counter for the analysis period.
11 . The method of claim 1 , wherein performing the third group of diagnostics for each analysis period comprises refraining from incrementing the lost packets counter for up to (size of the history window minus 1) consecutive lost packets immediately after a reset of the TSN node.
12 . The method of claim 1 , wherein:
the TSN node is configured with a consecutive lost packets counter; and
performing the third group of diagnostics for each analysis period comprises:
incrementing the lost packets counter for each packet expected based on the history window but not received;
incrementing the consecutive lost packets counter according to a number of consecutive expected packets that are not received;
resetting the lost packets counter to zero at the end of each analysis period; and
resetting the consecutive lost packets counter to zero when a packet expected based on the history window is received.
13 . The method of claim 12 , wherein performing the third group of diagnostics for each analysis period further comprises, when a value of the consecutive lost packets counter is greater than a maximum consecutive lost packets for an analysis period, storing the value of the consecutive lost packets counter as the maximum consecutive lost packets for the analysis period.
14 . The method of claim 13 , wherein performing the third group of diagnostics for each analysis period further comprises generating a sixth error signal (SIGNAL_STREAM_LOSS) when the maximum consecutive lost packets for the analysis period is greater than a configurable threshold amount.
15 . The method of claim 14 , wherein the sixth error signal (SIGNAL_STREAM_LOSS) includes the following for the analysis period: the maximum consecutive lost packets, and a total number of lost packets as indicated by the lost packets counter.
16 . The method of claim 1 , wherein performing the fourth group of diagnostics comprises detecting a recovery timeout event associated with the TSN node and generating a seventh error signal (SIGNAL_RECOVERY_TIMEOUT) indicating the recovery timeout.
17 . A time-sensitive network (TSN) node configured for frame replication and elimination for reliability (FRER), the TSN node comprising:
communication interface circuitry configured to communicate with one or more other TSN nodes; and
processing circuitry operably coupled to the communication interface circuitry, wherein the processing circuitry and the communication interface circuitry are configured to:
receive a plurality of member streams via a corresponding plurality (n) of disjoint paths in the TSN, wherein each member stream includes a replication of packets comprising a stream; and
perform the following diagnostics on the received member streams:
a first group of diagnostics related to member stream failures,
a second group of diagnostics related to packets received out-of-window,
a third group of diagnostics related to stream outages, and
a fourth group of diagnostics related to recovery timeouts for the TSN node,
wherein the first, second, and third groups of diagnostics are performed on the received member streams during each of a plurality of consecutive analysis periods and one or more of the following applies:
the first group of diagnostics are performed for each analysis period based on determining a number of packets retained and a number of duplicate packets discarded during each analysis period; and
the TSN node is configured with a lost packets counter and a history window indicating a range of consecutive packet sequence numbers, based on which the second group of diagnostics are performed.
18 . The TSN node of claim 17 , wherein the processing circuitry and the communication interface circuitry are further configured to, for each packet comprising the stream, retain the packet received on one of the member streams and discard duplicates of the packet received on other of the member streams.
19 . The TSN node of claim 17 , wherein the processing circuitry and the communication interface circuitry are configured to perform the third group of diagnostics for each analysis period based on refraining from incrementing the lost packets counter for up to (size of the history window minus 1) consecutive lost packets immediately after a reset of the TSN node.
20 . The TSN node of claim 17 , wherein the processing circuitry and the communication interface circuitry are configured to perform the fourth group of diagnostics based on detecting a recovery timeout event associated with the TSN node and generating a seventh error signal (SIGNAL_RECOVERY_TIMEOUT) indicating the recovery timeout.