4.28.9 TSN FRER Configuration
The TSN FRER Configuration page has the following parameters:
- Mode: Decides if this FRER instance shall run in generation or recovery mode. Default is generation.
- Enable: Enable or disable a FRER instance.
- FRER VLAN: Select the VLAN ID that ingress flows get classified to.
- Algorithm: IEEE 802.1CB-2017 requires implementations to provide two different recovery function algorithms, match and vector. match is the simplest algorithm: It basically says: Discard all packets with a sequence number equal to the last sequence number seen. Accept all others. The algorithm also comes with a reset timer that - when it expires - causes the algorithm to accept any sequence number - even the same as the previous. The reset timer is restarted every time a packet is accepted. The match algorithm counts the number of times the reset timer has expired and the number of passed, discarded, and out-of-order packets. Out-of-order happens when the sequence number of a given packet is not one higher than the previous (and the timer has not expired). Vector is somewhat more complicated. When a packet with a given sequence number arrives, it must be within the previous accepted packets sequence number +/- a configurable history length, or it will be discarded. If the packet is already seen (within the history length window), it is also discarded. Also this algorithm comes with a reset timer that - when it expires - causes the algorithm to accept any sequence number next time a packet arrives. The reset timer is restarted every time a packet is accepted. The vector algorithm counts the number of times the reset timer has expired and the number of passed, discarded, out-of-order, and so-called rogue packets. Out-of-order happens when the sequence number of a given packet is "older" than a previous packets (taking wrap-around into account), and the packet has not been accepted before. Out-of-order packets are accepted. Rogue packets are packets with a sequence number beyond the history length window. Rogue packets are also counted as discarded. Furthermore, the vector algorithm counts lost packets, that is, the number of unreceived sequence numbers when the history window moves. Both algorithms also count the number of packets arriving without an R-tag. This is done with the tagless counter. By default, such packets will be discarded. A per-FRER instance parameter recovery take-no-sequence, however, allows such frames to pass through. : The 802.1CB standard utilizes the frerSeqRcvyTakeNoSequence only in the vector algorithm, but the switches that the present guide is meant for also utilizes it in the match algorithm.: This feature should only be used on terminating switches, because such tagless packets will be R-tagged (with sequence number 0) on their way out on non-terminating switches. The selected algorithm on a given FRER instance will be used in both compound and individual recovery functions. Default is the vector algorithm.
- History Length: Configure the recovery functions history length. Valid range is 2-32 and default is 2.
- Reset Timeout: Configure recovery function's reset timeout in milliseconds. Valid range is 1-4095 and default is 1000.
- Take-no-sequence: Select this option to accept all frames whether they are R-tagged or not.
- Individual: Individual recovery means that a member stream undergoes recovery before it reaches the compound recovery function. The compound recovery function sits on each and every egress port in the FRER instance. The one and only thing that individual recovery can do that compound recovery cannot is to filter out member streams that keep presenting the same R-tag sequence number because of a defect transmitter. It goes like this: Suppose the transmitter of member stream 1 is working perfectly. It will send out frames with an increasing sequence number and wrap back to 0 after 65535 frames. Suppose the transmitter of member stream 2 is sending out the same frame with the same sequence number, X, over and over again. If we only had a compound recovery function, that function would at times be presented with frames with sequence number X from stream 1 and sequence number X from stream 2, and the first of these two frames would be sent to the egress port. So - depending on timing - sometimes the frame with sequence number X would come from stream 1 and sometimes it would come from the erroneous stream 2. The effect of enabling individual recovery is to have the individual recovery function for stream 2 filter out all identically numbered frames before they are presented to the compound recovery function. This is a very unlikely situation, and most network administrators will not need individual recovery. Moreover, individual recovery is very expensive in terms of hardware resources: Every ingress stream needs an individual recovery function per egress port. So if a FRER instance defines 8 ingress streams and 8 egress ports, the switch needs 64 individual recovery instances - just for this one FRER instance.
- Terminate: Select this option to strip an R-Tag from a frame before presenting it on egress.
- Latent Error Detection: The purpose of latent error detection is to raise a flag if the number of discarded packets is "relatively few" compared to the number of passed packets. The algorithm relies on four user inputs: Period, Reset period, Paths, Error difference. The reset function algorithm is as follows: Every Reset period milliseconds, read number of passed and discarded packet counters, and set a per-FRER instance variable, CurDiff, as follows: CurDiff = passed_packets * (paths - 1) - discarded_packets; The test function algorithm is as follows: Every timeout milliseconds, read the discarded and passed packet counters, and perform the following:diff = Abs(CurDiff - (passed_packets * (paths - 1) - discarded_packets)); if (diff > difference) {raise_flag();} Basically, it says: If you expect N member streams to ingress this FRER instance, N-1 of these member streams are expected to be discarded, and only one is expected to pass. To allow for some slack due to random packet losses and the fact that counters are not necessarily read simultaneously, set the difference to account for that. The reset function makes sure that CurDiff is updated to avoid that occasional packet losses do not accumulate forever.
- Latent Error Detection, Enable: Enable/disable Latent error detection.
- Latent Error Detection, Error Diff: The number of packets "allowed" to be in difference without raising the flag. Valid range is 0-10000000 and default is 100.
- Latent Error Detection, Period: The number of milliseconds between invoking the test function. Valid range is 1000-86400000 and default is 2000.
- Latent Error Detection, Paths: The number of member streams expected to ingress this FRER instance. Valid range is 2-4 and default is 2.
- Latent Error Detection, Reset period: The number of milliseconds between invoking the reset function. Valid range is 1000-86400000 and default is 30000.
- Ingress streams list: Specify the ingress streams that should map to this FRER instance. Only one stream ID can be specified in generator mode. There is a maximum limit of 8 ingress streams.
- Egress port list: Specify the egress ports that this FRER instance will hit. There is a maximum of 8 egress ports per FRER instance.