espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.81k stars 7.32k forks source link

Ethernet PRP (IDFGH-13730) #14597

Open sramrajkar opened 2 months ago

sramrajkar commented 2 months ago

Is your feature request related to a problem?

We have a dual ethernet custom board based on ESP32S3. It uses w5500 for the two interfaces. We now have a requirement to support profinet and IEC61850 on this platform. Both need PRP (Parallel Redundancy Protocol). This is another feature I thought might be worth adding to the lwip port for ESP IDF. As more and more industrial applications are using esp32, this is a good feature to support officially from expressif if possible.

Describe the solution you'd like.

Idea would be to may be play with netif input and output functions.

  1. In the output function of one netif send data to the other one as well. This is also where the PRP tag should be added. Max packet length will have to be reduced to accommodate the tag.
  2. In the rx of the two interfaces we will have to keep a packet cache and deduplicate the packet.
  3. To make the two interfaces abstracted to the application maybe we need a third virtual interface? This is the part I am confused about as the application should see transparent redundancy.

Describe alternatives you've considered.

Currently there are not real alternatives for this.

Additional context.

No response

kostaond commented 2 weeks ago

Hi @sramrajkar, looks interesting. I'll have a look at it. Unfortunately, I cannot provide any time frame when :/ BTW: do you know about some out of the shelf device which already supports this protocol so it could be used as reference for testing?