Uploaded image for project: 'EtherNet/IP Core V3'
  1. EtherNet/IP Core V3
  2. PSEIP-198

Check configuration assembly data in forward open request if there is a running connection that uses the same configuration assembly instance

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: V3.6.0.6, V3.6.1.0, V3.7.0.0
    • Component/s: None
    • Labels:
      None
    • Account:
      SPC EthernetIp Core (SPCETHERNET)

      Description

      Check configuration assembly data in forward open request if there is a running connection that uses the same configuration assembly instance.

      In case the configuration data differs, reject the forward open request with an Ownership Conflict (0x106) as defined in CIP Volume 1, Edition 3.28, Section 3-6.2 "Configuration"

      In case the configuration data does not differ, consider accepting the connection right away without taking the host application into account. Or at least do not forward the configuration data to the host application to avoid that the application starts overwriting the currently active configuration.

      Other solutions are welcome. The goal is to avoid that the host application needs to store the information of currently active connections and assembly instances.

       

      Final design:

      The option EIP_AS_OPTION_FIXED_SIZE is now respected for config assemblies.
      API change: The application will set the initial config data into each config assembly.
      API change: The application will not set the config data back into the stack anymore on changes.
      API change: The application will only be informed about actual (== effective) changes of the configuration data.

      Design change: The stack will now bind the config assembly to each connection which provided config data for it. With the first connection, the config assembly will now be "owned" and all further connections towards this assembly are rejected with an ownership conflict error unless they provide the same currently active config data. The config assembly will be unbound when the last involved connection closes.

      Design change: The stack will now check if the addressed config assembly is of class 4, does exist, and that the connection's config data matches the config assembly's size. Here, the flag FIXED_SIZE is respected, so that either only a subset of the configuration assembly's data can be set by the connection or the entire config data has to be set. On such addressing or size mismatches, the connection request is rejected right away without further involvement of the host application.

        Attachments

          Expenses

            Activity

              Status Description

                People

                • Reporter:
                  KMichel Kai Michel
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: