PRP-1 Software Stack

The parallel redundancy protocol (PRP) implements redundancy in the devices. An end node is attached to two independent LANs (LAN_A and LAN_B) which are operated in parallel. Thus a node needs two ports that operate simultaneously (ETH0 and ETH1) and that are attached to the same PRP instance.

In software PRP is implemented as an intermediate layer that communicates with the upper layers by a virtual network device (PRP Driver). This layer presents toward its upper layers the same interface a non-redundant network device.

PRP transparently generates and handles duplicates. When sending a frame it received from the upper layers, PRP is sends the frame through both ports at nearly the same time. When receiving, PRP forwards the first received frame to its upper layers and discards the duplicate frame.

Besides the handling of duplicates the PRP also manages the redundancy. To supervise redundancy it appends to each sent frame a 32-bit redundancy control trailer (RCT) and removes that RCT at reception.

PRP-1 Kernel Mode Stack

Our PRP Stack is high quality industry grade software that supports the full functionality of PRP as defined in the standard IEC 62439. The stack is designed to fulfill requirements as:

Portability: It easily portable to other operating systems because there is just a small set of defined functions that have to be re-implemented.

Performance: Running on an industry standard PC 100 Mbps communication throughput nearly at wire speed is achievable.

Efficiency: Using PRP the processor receives twice as many interrupt requests as when only one LAN is connected. Also the handling and management of the duplicates needs resources. Thanks to careful software design and an efficient implementation in the kernel space of the operating system the PRP stack uses minimal additional resources.

Usability: All logical functions of the stack have a well defined API that allows a fast training of the engineers.

Extensibility: New functionality (such as time synchronization according to IEEE1588/PTP) can easily be implemented.

Up to now the InES PRP stack is provided with a binding as Linux kernel module. Please ask for other adaptations.

PRP-1 User Mode Stack

PRP Stack Open Source

For the evaluation of the PRP stack we provide open source software for Linux. The code covers the handling of duplicates as well as the supervision functions. Thanks to the user mode execution the algorithms they can easily be traced and tested.


PRP Training

Training at School of Engineering in Winterthur, Switzerland:

  • PTP Software (Protocol Stack / Abstraction Layer, porting to other platforms)
  • PTP VHDL code for a Redundancy Box
  • Other forms of training upon request

PRP Support

Support (per e-mail, phone etc.)

  • PTP Software (Protocol Stack / Abstraction Layer, porting to other platforms)
  • PTP VHDL code for the time stamping unit
  • IEEE1588 / PTP in general
  • Other forms of support upon request

The amount and kind of support will be defined in a contract between the customer and ZHAW / InES.

Structure of the PRP Software Stack
Structure of the PRP Software Stack


Online Order Form

We provide the PRP stack as open source software at no charge.

Please accept the software license agreement and send the registration form.

Your data
Send me informations and updates regarding*
License Agreement*