Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions configs/AM335X/AM335X_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ linux/Foundational_Components/Kernel/Kernel_Drivers/GPIO
linux/Foundational_Components/Kernel/Kernel_Drivers/I2C
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/PRUSS
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_PRP_Non_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/PRP_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/PWM
linux/Foundational_Components/Kernel/Kernel_Drivers/SPI
linux/Foundational_Components/Kernel/Kernel_Drivers/Storage/NAND
Expand Down Expand Up @@ -86,6 +89,7 @@ linux/Foundational_Components/PRU-ICSS-Linux-Drivers
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/RemoteProc
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/RPMsg
linux/Foundational_Components/PRU-ICSS/RPMsg_Quick_Start_Guide
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/PRU-ICSS_Ethernet
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/pru-sw-uart
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/pruss-uart
linux/Foundational_Components/PRU-ICSS-Hardware
Expand Down
4 changes: 4 additions & 0 deletions configs/AM437X/AM437X_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ linux/Foundational_Components/Kernel/Kernel_Drivers/GPIO
linux/Foundational_Components/Kernel/Kernel_Drivers/I2C
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/PRUSS
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_PRP_Non_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/PRP_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/PWM
linux/Foundational_Components/Kernel/Kernel_Drivers/QSPI
linux/Foundational_Components/Kernel/Kernel_Drivers/SPI
Expand Down Expand Up @@ -87,6 +90,7 @@ linux/Foundational_Components/PRU-ICSS-Linux-Drivers
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/RemoteProc
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/RPMsg
linux/Foundational_Components/PRU-ICSS/RPMsg_Quick_Start_Guide
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/PRU-ICSS_Ethernet
linux/Foundational_Components/PRU-ICSS/Linux_Drivers/pru-sw-uart
linux/Foundational_Components/PRU-ICSS-Hardware
linux/Foundational_Components/PRU-ICSS/PRU-EVMs
Expand Down
3 changes: 3 additions & 0 deletions configs/AM57X/AM57X_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ linux/Foundational_Components/Kernel/Kernel_Drivers/I2C
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/NetCP
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/PRUSS
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_PRP_Non_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/PRP_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/PCIe/PCIe_End_Point
linux/Foundational_Components/Kernel/Kernel_Drivers/PCIe/PCIe_Root_Complex
linux/Foundational_Components_Power_Management
Expand Down
3 changes: 3 additions & 0 deletions configs/AM65X/AM65X_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ linux/Foundational_Components/Kernel/Kernel_Drivers/I2C
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW2g
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW-EST
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW-IET
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_PRP_Non_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/Network/PRP_Offload
linux/Foundational_Components/Kernel/Kernel_Drivers/PCIe/PCIe_End_Point
linux/Foundational_Components/Kernel/Kernel_Drivers/PCIe/PCIe_Root_Complex
linux/Foundational_Components/Kernel/Kernel_Drivers/PWM
Expand Down
Binary file removed source/images/Am335x_ice.jpg
Binary file not shown.
Binary file removed source/images/Am437x_idk_500x300.jpg
Binary file not shown.
Binary file removed source/images/Am571x_idk.JPG
Binary file not shown.
Binary file removed source/images/Am572x_idk.PNG
Binary file not shown.
Binary file removed source/images/K2g_ice.PNG
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@

.. rubric:: **Introduction**

HSR framework in linux allows offloading below functionalities to the
HSR (High-availability Seamless Redundancy) framework in Linux allows offloading following functionalities to the

Check warning on line 7 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 7, "column": 1}}}, "severity": "INFO"}
device
hsr-fwd-offload: For forwarding HSR frames one port to another i.e port-to-port
forwarding

hsr-dup-offload: Duplicate the outgoing HSR frame

The ICSSG HSR firmware supports port-to-port forwarding, Tx packet duplication
and this allows to offload these capabilities from HSR driver in software to the PRU-ICSSG.
The (Programmable Real-time Unit and Industrial Communication Subsystem) PRU-ICSS HSR firmware supports

Check warning on line 14 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 14, "column": 83}}}, "severity": "INFO"}

Check warning on line 14 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'PRU') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'PRU') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 14, "column": 74}}}, "severity": "INFO"}

Check warning on line 14 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer. Raw Output: {"message": "[RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 14, "column": 1}}}, "severity": "INFO"}
port-to-port forwarding, Tx packet duplication and this allows to offload these capabilities from HSR driver

Check warning on line 15 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 15, "column": 99}}}, "severity": "INFO"}

Check warning on line 15 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'Tx'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'Tx'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 15, "column": 26}}}, "severity": "WARNING"}
in software to the PRU subsystem.

Check warning on line 16 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'PRU') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'PRU') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 16, "column": 20}}}, "severity": "INFO"}

To enable offloading using below commands
To enable port-to-port offload
Expand All @@ -29,10 +30,11 @@
ethtool -K <interface> hsr-dup-offload on

.. note::
The ICSSG HSR firmware is designed to always carry out port-to-port
forwarding. So whenever any of the HSR features are to be offloaded, the
port-to-port forwarding must also be offloaded. It is not possible to offload
only Tx packet duplication functionality.

The ICSS HSR firmware always run with port-to-port forwarding.

Check warning on line 34 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'HSR') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 34, "column": 13}}}, "severity": "INFO"}

Check warning on line 34 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'ICSS') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'ICSS') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 34, "column": 8}}}, "severity": "INFO"}
So whenever any of the HSR features are to be offloaded, the port-to-port

Check warning on line 35 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Conjunctions] Do not overuse beginning sentences with 'So'. Raw Output: {"message": "[RedHat.Conjunctions] Do not overuse beginning sentences with 'So'.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/HSR_Offload.rst", "range": {"start": {"line": 35, "column": 4}}}, "severity": "INFO"}
forwarding must also be offloaded. It is not possible to offload
only transmission (Tx) packet duplication functionality.

The below script sets up an HSR interface with the port-to-port
forwarding and Tx packet duplication offloaded
Expand Down Expand Up @@ -70,8 +72,12 @@
echo "slave-a=$ifa"
echo "slave-b=$ifb"

ip link set hsr0 down
ip link delete hsr0 2> /dev/null
ip link set $if down
ip link delete $if 2> /dev/null

ip link set $ifa down
ip link set $ifb down
sleep 1

if [ "$1" = "hsr_hw" ]
then
Expand Down Expand Up @@ -99,6 +105,9 @@

ip addr add "$ip"/24 dev $if
ip link set $if up
ip link set $ifa up
ip link set $ifb up
sleep 1

To create HSR interface with IP address 192.168.2.20 using eth1 and eth2,
run the script by passing the arguments as below
Expand Down Expand Up @@ -400,12 +409,15 @@
0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

.. rubric:: Througput at Node A
.. ifconfig:: CONFIG_part_variant in ('AM64X', 'AM65X')

.. rubric:: Througput at Node A

.. list-table:: Throughput performance
:widths: 25 25

.. list-table:: Throughput performance
:widths: 25 25
* - Sender
- Receiver
* - 505 Mbits/sec
- 504 Mbits/sec

* - Sender
- Receiver
* - 505 Mbits/sec
- 504 Mbits/sec
Loading
Loading