Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting EthernetContainerFc Creation with proper UUID #2

Open
openBackhaul opened this issue Nov 26, 2020 · 5 comments
Open

Supporting EthernetContainerFc Creation with proper UUID #2

openBackhaul opened this issue Nov 26, 2020 · 5 comments
Assignees

Comments

@openBackhaul
Copy link
Owner

openBackhaul commented Nov 26, 2020

While configuring a new Layer 1 connection inside the Device, means instantiating a new EthernetContainerFc, the ForwardingConstruct object of the to be created EthernetContainerFc has to contain some value in its uuid attribute (because it is the key attribute in the ForwardingDomain::_fc [*] attribute).
Problem: The Application cannot anticipate the UUID value, which will be assigned by the Device to the ForwardingConstruct object.
Idea: The Device shall tell the Application, which UUID value to be used while instantiating the EthernetContainerFc.
In the specific case of the EthernetContainer, it is assumed that the UUID value, which is assigned by the Device, is totally random. This also means that no input parameter is required for calculating the correct UUID value.
Peripheral Difficulty: If just the to be used UUID value would be represented by the Device, it might happen that this UUID value would be used twice and the second user would override an already existing EthernetContainerFc while attempting to create a new one.

Proposal:
An EthernetContainerFdConfiguration::fcCreatorName : String [1] = "FC Creator not yet identified" attribute shall be added.

A nextEthernetContainerFcUuidType datatype shall be created.
A nextEthernetContainerFcUuidType::nameOfCreatorOfToBeCreatedEthernetContainerFc : String [1] = "FC Creator not yet identified" attribute shall be added.
A nextEthernetContainerFcUuidType::uuidOfToBeCreatedEthernetContainerFc : String = "UUID not yet created." attribute shall be added.

An EthernetContainerFdStatus::nextEthernetContainerFcUuid : nextEthernetContainerFcUuidType [1] attribute shall be added.

As soon as some value has been successfully configured into the EthernetContainerFdConfiguration::fcCreatorName attribute, the EthernetContainerFdStatus::nextEthernetContainerFcUuid::nameOfCreatorOfToBeCreatedEthernetContainerFc attribute shall represent the exact same value and the EthernetContainerFdStatus::nextEthernetContainerFcUuid::uuidOfToBeCreatedEthernetContainerFc shall contain the UUID value, which is to be used while instantiating the EthernetContainerFc.

Overwriting an existing EthernetContainerFc will be prevented by every creator creating his own UUID value. This process will only properly work, if UUID need not to be in sequence during instantiation of the EthernetContainerFc.

@openBackhaul
Copy link
Owner Author

Issue addressed by defining the following RPCs:

  • createEthernetContainerFc
  • deleteEthernetContainerFc

@openBackhaul
Copy link
Owner Author

openBackhaul commented Mar 7, 2023

Discussion on 7th of March 2023:
RPC modeling has to be done in accordance with VlanFd and to be presented to the 5G-xhaul call for approval.

@openBackhaul
Copy link
Owner Author

openBackhaul commented Mar 14, 2023

Decision made at the 5G-xhaul call on 26th of April 2023:
The following changes shall be made to the UML modelling of the EthernetContainerFd:

The following comment to be added to the EthernetContainerFd class: "If the Ethernet switch is forwarding incoming frames to all interfaces until it made an entry about a source MAC address in its table as a default, there shall be an EthernetContainerFc connecting all the interfaces of the Ethernet switch as an initial state."

An Interface of name EthernetContainerFdOperations shall be created.

An Operation of name createEthernetContainerFc shall be created with comment "Creates a new layer 1 frame forwarding between the referenced interfaces on the referenced Ethernet switch or hub. The following error-messages are to be send, if the operation would fail: #[onf:Referenced object is invalid.]#, if the referenced ForwardingDomain or at least one of the referenced LogicalTerminationPoints does not exist on the EthernetContainer layer, or if at least one of the referenced LogicalTerminationPoints is not connected to the referenced ForwardingDomain. #[onf:Resources not available.]#, if e.g. an additional layer 1 forwarding cannot be configured or a referenced LogicalTerminationPoint is already referenced by an existing EthernetContainerFc."
It shall NOT be idempotent, but create a new instance of EthernetContainerFc with every call.
It shall be atomic.
It shall have the following input parameter:

  • _affectedEthernetContainerFd:ForwardingDomain [1] with comment "Reference of the Ethernet switch or hub that provides the frame forwarding.".
  • _toBeConnectedEthernetContainerList [2..*] with comment "List of references to EthernetContainer interfaces that shall be connected by frame forwarding.".
    It shall have the following output parameter:
  • _createdEthernetContainerFc:ForwardingConstruct [1] with comment "Reference to the newly created frame based forwarding."

An Operation of name addEthernetContainerToFc shall be created with comment "Adds another EthernetContainer interface to an existing frame forwarding (EthernetContainerFc). The following error-messages are to be send, if the operation would fail: #[onf:EthernetContainer cannot be added to frame forwarding.]#, e.g. if the hardware does not support modifying the referenced forwarding or the EthernetContainer already belong to another frame forwarding. #[onf:Referenced object is invalid.]#, if the referenced ForwardingConstruct or the referenced LogicalTerminationPoint does not exist or does not belong to the EthernetContainer layer, or the referenced LogicalTerminationPoint is not connected with the EthernetContainerFd that holds the referenced EthernetContainerFc."
It shall be idempotent
It shall be atomic
It shall have the following input parameter:

  • _affectedEthernetContainerFc:ForwardingConstruct [1] with comment "Reference to the existing frame forwarding that shall be modified.".
  • _toBeConnectedEthernetContainer [1] with comment "Reference to the EthernetContainer interface that shall be added to the referenced frame forwarding.".

An Operation of name removeEthernetContainerFromFc shall be created with comment "Removes an EthernetContainer interface from an existing frame forwarding (EthernetContainerFc). The following error-messages are to be send, if the operation would fail: #[onf:EthernetContainer cannot be removed from frame forwarding.]#, e.g. if the hardware does not support modifying the referenced forwarding. #[onf:Referenced object is invalid.]#, if the referenced ForwardingConstruct or the referenced LogicalTerminationPoint does not exist or does not belong to the EthernetContainer layer."
It shall be idempotent
It shall be atomic
It shall have the following input parameter:

  • _affectedEthernetContainerFc:ForwardingConstruct [1] with comment "Reference to the existing frame forwarding that shall be modified.".
  • _toBeDisconnectedEthernetContainer [1] with comment "Reference to the EthernetContainer interface that shall be removed from the referenced frame forwarding.".

An Operation of name deleteEthernetContainerFc shall be created with comment "Removes an existing frame forwarding (EthernetContainerFc). The following error-messages are to be send, if the operation would fail: #[onf:Frame forwarding cannot be deleted.]#, e.g. if the hardware does not support deleting the referenced forwarding. #[onf:Referenced object is invalid.]#, if the referenced ForwardingDomain or ForwardingConstruct does not belong to the EthernetContainer layer or the referenced ForwardingConstruct connot be found in the referenced ForwardingDomain."
It shall be idempotent.
It shall be atomic.
It shall have the following input parameter:

  • _affectedEthernetContainerFd:ForwardingDomain [1] with comment "Reference of the Ethernet switch or hub that supports the frame forwarding, which shall be deleted."
  • _obsoleteEthernetContainerFc:ForwardingConstruct [1] with comment "Reference of the frame forwarding that shall be deleted."

@openBackhaul
Copy link
Owner Author

RPCs for modifying the FCs will be part of the EthernetContainerFC modelling.

@openBackhaul
Copy link
Owner Author

createEthernetContainerFc and deleteEthernetContainerFc have been added to the UML model of EthernetContainerFD.
addEthernetContainerToFc and removeEthernetContainerFromFc have been added to the UML model of EthernetContainerFC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant