{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,14]],"date-time":"2026-02-14T20:57:35Z","timestamp":1771102655533,"version":"3.50.1"},"reference-count":26,"publisher":"MDPI AG","issue":"7","license":[{"start":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T00:00:00Z","timestamp":1742860800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Portuguese FCT program, Center of Technology and Systems (CTS)","award":["CTS\/00066"],"award-info":[{"award-number":["CTS\/00066"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Applied Sciences"],"abstract":"<jats:p>Ethernet communications are widely used in many areas, and redundant protocols like the Parallel Redundancy Protocol (PRP) and High-Availability Seamless Redundancy (HSR) were created to make these communications more reliable. These protocols\u2019 goal is to have a zero-delay network reconfiguration time. In order to achieve this, both protocols have a double network, and a copy of every packet will be present on the network. Upon packet reception, it will be verified if it is new or has been received before, being discarded if it is duplicated. This paper presents an open-source Ethernet switch, the REDSwitch, capable of implementing the PRP protocol, besides working as a regular switch. This Ethernet switch is based on an open-source project and was developed further, including a hash table with an aging mechanism, to store the received packets and allow duplication analysis. The REDSwitch is capable of dealing with the IPv4 protocol, IEEE 802.1Q, and implementing the PRP protocol. Specified in Verilog and SystemVerilog, it was designed to be implemented on field-programmable gate array (FPGA) devices.<\/jats:p>","DOI":"10.3390\/app15073596","type":"journal-article","created":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T12:18:52Z","timestamp":1742905132000},"page":"3596","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Hardware Communications: An Open-Source Ethernet Switch Implementing the Parallel Redundancy Protocol"],"prefix":"10.3390","volume":"15","author":[{"given":"Andr\u00e9","family":"Torres","sequence":"first","affiliation":[{"name":"EFACEC Energia\u2014M\u00e1quinas e Equipamentos El\u00e9ctricos S.A., Quinta da Fonte, 2770-229 Oeiras, Portugal"},{"name":"NOVA School of Science and Technology, NOVA University Lisbon, 2829-516 Caparica, Portugal"}]},{"given":"Rodrigo","family":"Piedade","sequence":"additional","affiliation":[{"name":"EFACEC Energia\u2014M\u00e1quinas e Equipamentos El\u00e9ctricos S.A., Quinta da Fonte, 2770-229 Oeiras, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0930-7418","authenticated-orcid":false,"given":"Filipe","family":"Moutinho","sequence":"additional","affiliation":[{"name":"NOVA School of Science and Technology, NOVA University Lisbon, 2829-516 Caparica, Portugal"},{"name":"Center of Technology and Systems (UNINOVA-CTS) and Associated Lab of Intelligent Systems (LASI), 2829-516 Caparica, Portugal"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4299-8270","authenticated-orcid":false,"given":"Luis","family":"Gomes","sequence":"additional","affiliation":[{"name":"NOVA School of Science and Technology, NOVA University Lisbon, 2829-516 Caparica, Portugal"},{"name":"Center of Technology and Systems (UNINOVA-CTS) and Associated Lab of Intelligent Systems (LASI), 2829-516 Caparica, Portugal"}]}],"member":"1968","published-online":{"date-parts":[[2025,3,25]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Jasperneite, J., Schumacher, M., and Weber, K. (2007, January 25\u201328). Limits of increasing the performance of Industrial Ethernet protocols. Proceedings of the 2007 IEEE Conference on Emerging Technologies and Factory Automation, Patras, Greece.","DOI":"10.1109\/EFTA.2007.4416748"},{"key":"ref_2","unstructured":"Hansen, K. (2005, January 19\u201322). Redundancy Ethernet in industrial automation. Proceedings of the 2005 IEEE Conference on Emerging Technologies and Factory Automation, Catania, Italy."},{"key":"ref_3","unstructured":"(2016). Industrial Communication Networks\u2014High Availability Automation Networks\u2014Part 3: Parallel Redundancy Protocol (PRP) and High-Availability Seamless Redundancy (HSR) (Standard No. IEC 62439-3)."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"9862","DOI":"10.1109\/TIE.2019.2956406","article-title":"A Flattened-Priority Framework for Mixed-Criticality Systems","volume":"67","author":"Li","year":"2020","journal-title":"IEEE Trans. Ind. Electron."},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Flatt, H., Jasperneite, J., and Schewe, F. (2013, January 22\u201327). An FPGA based cut-through switch optimized for one-step PTP and real-time Ethernet. Proceedings of the 2013 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication (ISPCS) Proceedings, Lemgo, Germany.","DOI":"10.1109\/ISPCS.2013.6644755"},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1109\/TII.2008.919016","article-title":"A Distributed Instrument for Performance Analysis of Real-Time Ethernet Networks","volume":"4","author":"Ferrari","year":"2008","journal-title":"IEEE Trans. Ind. Inform."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"99070","DOI":"10.1109\/ACCESS.2020.2997764","article-title":"A New Adaptive Prioritization and Fail-Over Mechanism for Ring Network Adapter","volume":"8","author":"Khalilzadegan","year":"2020","journal-title":"IEEE Access"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Kanta, K., Toumasis, P., Tokas, K., Stratakos, I., Papatheofanous, E.A., Giannoulis, G., Mesogiti, I., Theodoropoulou, E., Lyberopoulos, G., and Lentaris, G. (2022). Demonstration of a Hybrid Analog\u2013Digital Transport System Architecture for 5G and Beyond Networks. Appl. Sci., 12.","DOI":"10.3390\/app12042122"},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"853","DOI":"10.1109\/TII.2015.2431223","article-title":"Advanced Features and Industrial Applications of FPGAs\u2014A Review","volume":"11","author":"Moure","year":"2015","journal-title":"IEEE Trans. Ind. Inform."},{"key":"ref_10","unstructured":"TTTech Flexibilis Oy (2024, June 07). HSR\/PRP IP Core for FPGA (GbE): Flexibilis Redundant Switch (FRS). Available online: https:\/\/www.flexibilis.com\/products\/frs\/."},{"key":"ref_11","unstructured":"(2024, June 07). HPS - HSR-PRP Switch IP Core - SoC-e. Available online: https:\/\/soc-e.com\/products\/hsr-prp-switch-ip-core-all-hardware-low-latency-switch-for-fpgas\/."},{"key":"ref_12","unstructured":"(2024, January 24). RED25 Fast Ethernet Entry-Level Switches. Available online: https:\/\/www.belden.com\/products\/industrial-networking-cybersecurity\/managed-switches\/din-rail-compact\/red25."},{"key":"ref_13","unstructured":"(2024, January 24). Seamless Redundancy with PRP and HSR | ZHAW Institute of Embedded Systems InES. Available online: https:\/\/www.zhaw.ch\/en\/engineering\/institutes-centres\/ines\/communication-network-engineering\/seamless-redundancy-with-prp-and-hsr."},{"key":"ref_14","unstructured":"(2024, February 24). Private Island: Open Source FPGA-Based Network Processor for Privacy, Security, and AI Applications. Available online: https:\/\/mindchasers.com\/dev\/private-island."},{"key":"ref_15","unstructured":"(2024, June 07). NetFPGA. Available online: https:\/\/netfpga.org."},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Lockwood, J.W., McKeown, N., Watson, G., Gibb, G., Hartke, P., Naous, J., Raghuraman, R., and Luo, J. (2007, January 3\u20134). NetFPGA\u2013An Open Platform for Gigabit-Rate Network Switching and Routing. Proceedings of the 2007 IEEE International Conference on Microelectronic Systems Education (MSE\u201907), San Diego, CA, USA.","DOI":"10.1109\/MSE.2007.69"},{"key":"ref_17","unstructured":"(2024, June 07). RealTimeSwitch \u00b7 NetFPGA\/netfpga Wiki \u00b7 GitHub. Available online: https:\/\/github.com\/NetFPGA\/netfpga\/wiki\/RealTimeSwitch."},{"key":"ref_18","unstructured":"(2024, June 07). OpenFlowNetFPGA100 \u00b7 NetFPGA\/netfpga Wiki \u00b7 GitHub. Available online: https:\/\/github.com\/NetFPGA\/netfpga\/wiki\/OpenFlowNetFPGA100."},{"key":"ref_19","unstructured":"(2024, June 07). ONetSwitch: Open Source Hardware for Networking by MeshSr - Kickstarter. Available online: https:\/\/www.kickstarter.com\/projects\/onetswitch\/onetswitch-open-source-hardware-for-networking."},{"key":"ref_20","unstructured":"Hu, C., Yang, J., Zhao, H., and Lu, J. (2014, January 2\u20134). Design of All Programable Innovation Platform for Software Defined Networking. Proceedings of the Open Networking Summit 2014 (ONS 2014), Santa Clara, CA, USA."},{"key":"ref_21","unstructured":"(2024, June 07). REF Switch \u00b7 MeshSr\/ONetSwitch Wiki \u00b7 GitHub. Available online: https:\/\/github.com\/MeshSr\/ONetSwitch\/wiki\/REF-Switch."},{"key":"ref_22","unstructured":"(2024, June 07). IEEE 802.1: 802.1Q-Virtual LANs. Available online: https:\/\/www.ieee802.org\/1\/pages\/802.1Q.html."},{"key":"ref_23","unstructured":"(2024, October 08). ASICS.ws-Solutions for Your ASIC\/FPGA and System Design Needs. Available online: https:\/\/www.asics.ws\/tools_sub.html."},{"key":"ref_24","unstructured":"(2024, June 07). GitHub-johan92\/fpga-Hash-Table: Simple Hash Table on Verilog (SystemVerilog). Available online: https:\/\/github.com\/johan92\/fpga-hash-table."},{"key":"ref_25","unstructured":"(2024, October 08). Cat Karat Packet Builder. Available online: https:\/\/www.softpedia.com\/get\/Network-Tools\/Network-Testing\/Cat-Karat-Packet-Builder.shtml."},{"key":"ref_26","unstructured":"(2024, October 08). Online CRC-8 CRC-16 CRC-32 Calculator. Available online: https:\/\/crccalc.com\/."}],"container-title":["Applied Sciences"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2076-3417\/15\/7\/3596\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T17:00:05Z","timestamp":1760029205000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2076-3417\/15\/7\/3596"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,3,25]]},"references-count":26,"journal-issue":{"issue":"7","published-online":{"date-parts":[[2025,4]]}},"alternative-id":["app15073596"],"URL":"https:\/\/doi.org\/10.3390\/app15073596","relation":{},"ISSN":["2076-3417"],"issn-type":[{"value":"2076-3417","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,3,25]]}}}