View
305
Download
4
Category
Preview:
Citation preview
TI Confidential – NDA Restrictions
HSR and PRP Redundancy on RT Linux
Part 3: Redundancy and Linux
Which Operating System on the host for HSR/PRP? Application
Publisher/ Subsriber
Transport Layer Network Layer
B TX RX
Create Duplicate
Duplicate Discard
Duplicate Discard
A TX RX
Host
LRE
Ports
Duplicate Discard
Application Publisher/ Subsriber
Transport Layer Network Layer
B TX RX
Create Duplicate
Duplicate Discard
Duplicate Discard
A TX RX
Host
LRE
Ports
Duplicate Discard
Which Operating System on the host for HSR/PRP?
Linux is recognized with networking • Since these applications are networking based, Linux seems like a natural choice
– Allows scale across products and platforms – Reuse common networking stack, applications, tools, scripts, etc.
• Some packet deadlines may require RT Linux • TI-RTOS solutions are also available
User Space
Linux Kernel
Network Hardware
Linux architecture
User Space
Linux Kernel
Network Hardware
Focus on application in User Space IEC61850 Application
User Space
Linux Kernel
Network Hardware
Existing Linux network stack – No redundancy
Ethernet Driver
Network Stack
eth2
port0
IEC61850 Application
User Space
Linux Kernel
Network Hardware
Adding a second port for redundancy IEC61850 Application
Ethernet Driver
Network Stack
eth2
port0 port1
eth3
User Space
Linux Kernel
Network Hardware
Need LRE to handle duplicates IEC61850 Application
Ethernet Driver
Network Stack
eth2
port0 port1
eth3 LRE
User Space
Linux Kernel
Network Hardware
Should we duplicate the LRE? IEC61850 Application
Ethernet Driver
Network Stack
eth2
port0 port1
eth3 LRE IEC61850 Application LRE
User Space
Linux Kernel
Network Hardware
Move the LRE lower in the stack
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
slave-0 slave-1
IEC61850 Application LRE IEC61850 Application LRE
User Space
Linux Kernel
Network Hardware
Adding a HSR driver to implement protocols
HSR
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
slave-0 slave-1
IEC61850 Application IEC61850 Application
LRE
User Space
Linux Kernel
Network Hardware
Adding capability to create a HSR connection
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
slave-0 slave-1
IEC61850 Application iproute2 ip command
netlink socket
hsr0
HSR
LRE
HSR
User Space
Linux Kernel
Network Hardware
Adding packet forward and LRE iproute2 ip command
netlink socket
Ethernet Driver
Packet Forward
eth-slave-0 eth-slave-1
Network Stack
hsr0
slave-0 slave-1
LRE Sequence Number
Redundancy Management
IEC61850 Application
HSR
User Space
Linux Kernel
Network Hardware
Creating supervisory packets iproute2 ip command
netlink socket
Ethernet Driver
Packet Forward
eth-slave-0 eth-slave-1
Network Stack
Network Supervision (announcement/check)
hsr0
slave-0 slave-1
LRE Sequence Number
Redundancy Management
IEC61850 Application
User Space
Linux Kernel
Network Hardware
Existing HSR Driver iproute2 ip command
netlink socket
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
hsr0
slave-0 slave-1
IEC61850 Application
HSR Packet Forward
Network Supervision (announcement/check)
LRE Sequence Number
Redundancy Management
HSR Packet Forward
Network Supervision (announcement/check)
LRE Sequence Number
Redundancy Management
User Space
Linux Kernel
Network Hardware
Modifying the HSR driver
IEC-62439 MIB
iproute2 ip command
netlink socket
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
hsr0
slave-0 slave-1
Missing
Exists Color code
Net-SNMP agent (snmpd) IEC-62439 module
HSR Packet Forward
Network Supervision (announcement/check)
LRE Sequence Number
Redundancy Management
User Space
Linux Kernel
Network Hardware
Adding PRP to the driver
IEC-62439 MIB
iproute2 ip command
netlink socket
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
prp0
slave-0 slave-1
Missing
Exists Color code
Net-SNMP agent (snmpd) IEC-62439 module
User Space
Linux Kernel
Network Hardware
Adding PRP to the driver
IEC-62439 MIB
iproute2 ip command
netlink socket
Ethernet Driver
Packet Forward
eth-slave-0 eth-slave-1
Network Stack
Network Supervision (announcement/check)
prp0
slave-0 slave-1
LRE Sequence Number
Redundancy Management
Missing
Exists Color code
Net-SNMP agent (snmpd) IEC-62439 module
HSR Packet Forward
Network Supervision (announcement/check)
LRE Sequence Number
Redundancy Management
User Space
Linux Kernel
Network Hardware
Minimal changes for PRP
IEC-62439 MIB
iproute2 ip command
netlink socket
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
prp0
slave-0 slave-1
Missing
Exists Color code
Net-SNMP agent (snmpd) IEC-62439 module
HSR Packet Forward
Network Supervision (announcement/check)
LRE Sequence Number
Redundancy Management
User Space
Linux Kernel
Network Hardware
Why RT Linux?
IEC-62439 MIB
iproute2 ip command
netlink socket
Ethernet Driver
eth-slave-0 eth-slave-1
Network Stack
hsr0/prp0
slave-0 slave-1
Missing
Exists Color code
Net-SNMP agent (snmpd) IEC-62439 module
• More deterministic latency to meet requirements
Section summary • Given the focus on networking, Linux is a good OS choice • Redundancy requires at least two ports • HSR implementation abstracts two ports to one HSR port implemented lower in the
stack • PRP implementation is very similar • With either implementation, upper software layers (i.e. applications) are abstracted
from details • RT Linux provides more deterministic latencies to meet requirements
For more information • HSR and PRP on RT Linux Training Series: http://training.ti.com/hsr-prp-rt-linux-training-series
• Sitara Processors Product Overview: http://www.ti.com/sitara
• AM571x Industrial Development Kit (IDK): http://www.ti.com/tool/tmdxidk5718
• AM572x Industrial Development Kit (IDK): http://www.ti.com/tool/tmdxidk5728
• Processor SDK Software Developer Guides: – Linux: http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_Software_Developer’s_Guide – RTOS: http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_Software_Developer_Guide
• PRP TI Design using TI-RTOS: http://www.ti.com/tool/tidep0054
• HSR TI Design using TI-RTOS: http://www.ti.com/tool/tidep0053
• For questions regarding topics covered in this training, visit the Sitara Processors support forum at the TI E2E Community website: https://e2e.ti.com/support/arm/sitara_arm/f/791
Recommended