Skip to content
This repository has been archived by the owner on Apr 22, 2024. It is now read-only.

Document difference between port.created and interface.created events #116

Open
cmagnobarbosa opened this issue Mar 19, 2021 · 2 comments
Open

Comments

@cmagnobarbosa
Copy link
Member

cmagnobarbosa commented Mar 19, 2021

Today Kytos uses two events (port.created and interface.created) when a port on the switch is created, but the difference between these events is not clear.

Therefore, additional research is needed.

Additional information from OpenFlow spec:

OpenFlow ports are the network interfaces for passing packets between OpenFlow processing and therest of the network. OpenFlow switches connect logically to each other via their OpenFlow ports. An OpenFlow switch makes a number of OpenFlow ports available for OpenFlow processing.

The set of OpenFlow ports may not be identical to the set of network interfaces provided by the switch hardware,some network interfaces may be disabled for OpenFlow, and the OpenFlow switch may define additional OpenFlow

@hdiogenes hdiogenes changed the title What's the difference between port.created and interface.created events? Document difference between port.created and interface.created events Mar 26, 2021
@italovalcy
Copy link
Contributor

Hi Carlos, for me, it looks like the proper name for the event would be "port.created" if we consider the OpenFlow specification. This way, whenever we have a logical port (e.g., link aggregation), which is not a physical network interface in the switch, Kytos will notify it properly. After saying that, from the Kytos modeling perspective, it looks like the event is referring to Internet kytos data model, and as so, IMHO, "interface.created" is the most appropriate one.

@italovalcy
Copy link
Contributor

@cmagnobarbosa when you mentioned that kytos generate both port.created and interface.created was it because of handle_port_desc() call?

In my understanding, what happens is: when the switch first connects to Kytos, Kytos request the PORT_DESC, which generates the port.created event. Then, there is the asynchronous PORT_STATUS message, which of_core handles and generate a interface.created event. So far, they seems to be correct. I would only say that the PORT_DESC should also generate an interface.created event, even because it in fact calls the switch to create the interface (https://github.com/kytos/of_core/blob/master/v0x04/utils.py#L127)

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

No branches or pull requests

2 participants