-
Notifications
You must be signed in to change notification settings - Fork 9
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
Added take_last
to EVC
#563
Conversation
@@ -5,5 +5,5 @@ | |||
# pip-compile --output-file requirements/dev.txt requirements/dev.in | |||
# | |||
-e git+https://github.com/kytos-ng/python-openflow.git#egg=python-openflow | |||
-e git+https://github.com/kytos-ng/kytos.git#egg=kytos[dev] | |||
-e git+https://github.com/kytos-ng/kytos.git@feature/last_tag#egg=kytos[dev] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reminder to remove this.
Also, Is this feature going to be backported?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the underlying issue has the backport_20232
and backport_20241
labels.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
btw, I've just merged the related PR kytos-ng/kytos#515. Nicely done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Alopalao, that's a good start. But notice that this doesn't fully meet some of the requirements:
- If you were to have a static EVC with
primary_path
, path X, andbackup_path
, path Y, sincetake_last
is a global attr of the EVC and not per link, after each redeploy for example, notice that it would keep switching and going back to use the same s_vlan for each path, path X would use 1, and paty Y would use 4095. So, in this case, if a network operator wanted to force redeploy to changeprimary_path
path to use a different s_vlan it would be able to accomplish that. See what I mean? The old implementation that wouldn't be a problem since it was fully rotating the allocated s_vlan per link, so it accomplished that indirectly.
You'll need to rethink and refine the proposed solution. Here a few pointers for you to also think about:
- I believe we'll need an EVC attr to set the links s_vlan allocation strategy.
- I believe we'll also need to store a state on each link metadata regarding the direction (or side) the s_vlan was taken. Since
s_vlan
is already stored as a metadata, maybe we can also reserve a new metadata for this, since no other NApp will change this sincemef_eline
is also using unique link refs for now.
Quick brainstormSee you can come up with something better:
Finally, once you hash out the final solution, I'll recommend that you summarize it in the issue, and then let's see if it meets the requirement and then go for it. OK? |
Closing this PR in favor of avoid VLAN |
Closes #543
Summary
First iteration of
take_last
, this PR needs kytos PR to work.Added option to EVC,
take_last
which indicates which VLAN will be taken next forcurrent_path
andfailover_path
Local Tests
Create an EVC and redeploy
End-to-End Tests
To be added.