NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Convert PRP DAN to SAN
Last updated: 02/06/2018
Contents
About this Guide[edit]
This is the guide for the PRP application on TI-RTOS SYSBIOS. This guide talks about the steps required to convert PRP DAN application to behave similar to a PRP SAN.
There is also a RT-Linux implementation for PRP, both implementations use the same firmware and basic design and differ only in OS related aspects like driver design etc. The RT-Linux implementation is offered as part of the Processor SDK Linux package from TI.
Glossary of terms[edit]
Terms | Abbreviation |
---|---|
PRP | Parallel Redundancy Protocol |
LRE | Link Redundancy Entity |
SAN | Single Attached Node |
DAN | Dual Attached Node |
DANP | PRP Dual Attached Node |
RCT | Redundancy Control Trailer |
About PRP on PRU-ICSS[edit]
The PRP driver and firmware implements a LRE which provides a transparent view to the upper layers and implements redundancy. Most of the LRE implementation is largely encapsulated inside the firmware which performs tasks like
- Duplicate detection and elimination
- Port to Host
- Port to Port
- Node Table management (for other devices on the network)
The driver performs the task of duplicating a packet and sending it out on both ports. It also performs the task of node table, port-port and port-host duplicate table management. The LRE replaces EMAC LLD Rx and Tx API's with identical API's providing the redundancy. This is a high level view of PRP DAN (or DANP).
Steps to convert PRP DAN to PRP SAN[edit]
In terms of comparison b/w a node behaving as PRP DAN vs PRP SAN, the additional features performed by a node behaving as PRP DAN are mentioned below along with the corresponding driver modifications required:
- PRP supervision frames
- These are supervisory frames that are required for PRP network management info as well as the nodetable.
- Supervision frames are very specific to DAN behavior.
- Driver modification : Disable RedLifeCheckTask() | Function which delays start of sending Supervision Frames until Link Up
- PRP RCT
- A redundancy control trailer is added to each frame (which include a sequence number to discard duplicates).
- For DANP communicating to PRP SAN, the RCT shouldn't be present. In case of SAN communicating with SAN, RCT shouldn't be appended to the frames.
- Driver modification : set PRP_VS_EMAC_MODE_MASK to EMAC_MODE_MASK. Default value : PRP_MODE_MASK
- Duplication on egress frame
- When an upper layer protocol sends a frame, the LRE replicates the frame and sends it through both its ports at nearly the same time.
- Driver modification : Disable frame duplication in RedFrameSend()
Alternatively, to disable RCT addition & disable frame duplication, register the Tx callback to ICSS_EmacTxPacketEnqueue().
The above mentioned driver modifications cover the APIs controlling the corresponding behavior. Minor modifications might still be required to meet the customer specific requirements.