dov
Minnow
Posts: 6
|
Post by dov on Jun 2, 2021 10:44:16 GMT
I have been having some difficulty understanding several parts of the Port Schema.
1. The port Reset action: What is the expected behavior of the Port.Reset action when called on a port that is disabled or configured to have link-down? 2. Regarding the LinkStatus and LinkState properties: A. Writing to the LinkStatus "the desired link status" the values "Starting" or "Training" does not make sense to me. These are meant to be intermittent states. Should only writing "LinkUp" or "LinkDown" be allowed? B. How does writing to LinkStatus Write differ LinkState write? Is there not a chance for contradictory values for example: LinkStatus ="LinkUp", LinkState = "Disabled"?
Thank you, Dov.
|
|
|
Post by mraineri on Jun 3, 2021 20:08:09 GMT
For your first question, the underlying technology and environment of the port will dictate that sort of behavior. It's entirely possible the underlying port could support lower order types of resets while maintaining its disabled state. It's going to be up to the implementation to convey whether or not the reset action can be applied to the port based on its state, so proper messages and HTTP status codes will be need to tell the client if it was successful, if it failed, or any sort of state conflicts that prevent the reset from being carried out.
For your second question, that seems like an error in the schema. At first glance, I don't see how "LinkStatus" could be written by a client. The normal pattern we use elsewhere in the model is to have an independent "desired state" property from a status, which we have with the "LinkState" property. We'll raise this internally to review to see if really is an error.
|
|
|
Post by malbolge on Jun 7, 2021 8:10:21 GMT
<Property Name="LinkState" Type="Port.v1_2_0.LinkState" Nullable="false"> <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/> <Annotation Term="OData.Description" String="The desired link state for this interface."/> <Annotation Term="OData.LongDescription" String="This property shall contain the desired link state for this interface."/> </Property> <Property Name="LinkStatus" Type="Port.v1_2_0.LinkStatus" Nullable="false"> <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/> <Annotation Term="OData.Description" String="The desired link status for this interface."/> <Annotation Term="OData.LongDescription" String="This property shall contain the desired link status for this interface."/> </Property>
Seems like both properties currently describe a writeable, desired state.
|
|
|
Post by mraineri on Jun 7, 2021 12:37:36 GMT
Understood both are writable in the schema, but I don't think "LinkStatus" was meant to be writable. We'll need to discuss this further internally to see if this really is what's desired. At least looking at other schemas with similar properties, this is not the pattern we use elsewhere.
|
|