Uploaded image for project: 'EtherNet/IP Firmware V3'
  1. EtherNet/IP Firmware V3
  2. PSEISV3-233

Encapsulation layer encap.c: Reentrancy and Robustness Analysis and Rework

    Details

    • Type: Change
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: V3.3.2.0, V3.4.0.0
    • Component/s: None
    • Labels:
      None
    • Account:
      SPC EthernetIp Slave (SPCETHERNE)

      Description

      There is number of problems with the encapsulation layer:

      Concurrency: TCP responses can be sent from multiple tasks concurrently, which is not properly respected by the source code (allocation of send buffers)

      Delay: When sends at the lwIP fail due to no send buffer being available, retries will be performed in a 10ms raster, which imposes a certain delay on the TCP stream

      It may be a good idea to introduce a job for sending, leading to strict serialization of events, thus keeping the number of required lock-operations low.

      It is also required to split that module into multiple files, think about certain function and variable names and harden it a little.

       

        Attachments

          Issue Links

            Expenses

              Activity

                Status Description

                  People

                  • Reporter:
                    MBommert Marc Bommert
                  • Votes:
                    0 Vote for this issue
                    Watchers:
                    0 Start watching this issue

                    Dates

                    • Created:
                      Updated:
                      Resolved: