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

Check "Frame dispatched" return code handling of LWIP-callbacks

    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

      Receive callbacks given as parameter to LwIP_Socket_Open() have the following semantics:

      The return code is a boolean indicating whether or not the given frame has been dispatched by the stack or can not be handled at the moment it arrived. If true is returned, then the stack itself is responsible for handling the frame and to free it in the end.

      A return code of false will cause lwIP to re-call us with the same frame again. Frame reception will be blocked if all queues are full.

      Currently, if we can not dispatch a given frame, we drop it (free it & return true), so that a slot in the queue will be freed and the whole reception logic will shoot right away, burdening the ARM with an interrupt and TCP processing of that new frame.

      For non-cycic traffic, it may be a better idea to reject the frame and let lwIP call back later and pass in this exact frame a second time.
       

        Attachments

          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: