Uploaded image for project: 'Ethernet 2-Port Switch'
  1. Ethernet 2-Port Switch
  2. PSETH2PS-28

DLR circulating frame handling can lead to crash of netX

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: V1.2.0.1, V1.2.1.0, V1.2.2.0, V1.3.0.0
    • Fix Version/s: V1.2.0.2, V1.3.0.1, V1.3.1.0 (open)
    • Labels:
      None
    • Account:
      SPC Driver Ethernet (SPCDRIVERE)

      Description

      In case there is an ethernet frame received that holds the netX's MAC address as the source MAC address (frame from ourself),
      a special interrupt is generated by the XC indicating to the ARM that a "circulating frame" has been received.
      This interrupt is handled on the ARM side directly inside the circulating frame handler in the interrupt context.
      This handler uses the memory function malloc() which can lead to a netX crash in case another context (task) also accesses
      memory functions at the same time.

      Receiving a frame from ourself in the real world is very unlikely. However, in a DLR environment it can still happen during ring state changes. Therefore, it is recommended to not use the affected versions in DLR environments.

      By now, this issue could only be reproduced by Achilles Ethernet Grammer tests which generates Ethernet frames with varying combinations of valid and invalid source MAC addresses.

        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: