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

Handle IPv6 #4

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

benjamreis
Copy link
Contributor

Display IPv6 PIF's fields when primary_address_type is IPv6
Reconfigure management interface with appropriate method
Support network reset in the IPv6 case

Signed-off-by: BenjiReis benjamin.reis@vates.fr

@benjamreis
Copy link
Contributor Author

image

Here's a screenshot displaying an ipv6 address

@lindig
Copy link

lindig commented Jun 24, 2021

The way IP6 is handled varies: sometimes the code branches at the top, and at other times on a per-statement basis using if-expressions. It also treats IP6 as a boolean where it is by nature more an enumeration and we could envision more cases (albeit not short term). It's difficult to do this in a systematic and nice way - so I think it's ok.

@benjamreis
Copy link
Contributor Author

Hey, is something missing for this PR to be merged? It's been approved a while ago.

benjamreis added a commit to xcp-ng-rpms/xsconsole that referenced this pull request May 10, 2023
xapi-project/xsconsole#4

Signed-off-by: BenjiReis <benjamin.reis@vates.fr>
stormi pushed a commit to xcp-ng-rpms/xsconsole that referenced this pull request May 10, 2023
xapi-project/xsconsole#4

Signed-off-by: BenjiReis <benjamin.reis@vates.fr>
Copy link
Collaborator

@bernhardkaindl bernhardkaindl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The remaining places which I didn't comment look OK to me.

AFAICS, this is only about displaying the status of IPv6, not about configuring IPv6 (setting the ip6_configuration using XAPI). Is that already implemented?

XSConsoleData.py Outdated Show resolved Hide resolved
XSConsoleUtils.py Outdated Show resolved Hide resolved
XSConsoleData.py Outdated Show resolved Hide resolved
XSConsoleData.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@bernhardkaindl bernhardkaindl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@benjamreis This PR has commit conflicts which have to be resolved, can you fix them?

@benjamreis
Copy link
Contributor Author

@bernhardkaindl rebased on latest master 👍

@stormi
Copy link
Contributor

stormi commented Sep 18, 2023

Ping @bernhardkaindl. Is there anything blocking the merge now?

@bernhardkaindl
Copy link
Collaborator

bernhardkaindl commented Sep 20, 2023

Hi @stormi, I asked about it, and the response was that we shall review it as part of our larger IPv6 project: Then when we'll have the requirements for handling IPv6 finished and the infrastructure for full IPv6 testing in all variants (single-stack, dual-stack and the required IPv6 address configuration variants) is available for testing.

@stormi
Copy link
Contributor

stormi commented Sep 20, 2023

Thanks for asking. I'm disappointed by the answer, to be honest. It makes it sound like XenServer is the only user of xsconsole.

XCP-ng 8.3 (development version) already supports IPv6. In fact, we have been adding support in many components, and uncovering and fixing issues for you, which will make your own IPv6 project easier. We've worked on it for several years, have users testing it, are currently adding tests in our CI, uncovering more issues in the process.

Here, all we ask is that a rather simple PR is merged so that we don't have to maintain a separate branch of xsconsole (and rebase each time the master branch changes - and there might be a python 3 port on the way), for months if not years. The PR is simple, was reviewed, refined, and moreover should not impact XenServer in any way when IPv6 is not enabled in XAPI. We're already 2 years 1/4 after the initial commits. If any regression is found in your IPv4-based tests that our own tests haven't uncovered, we can fix it, and you can revert the PR while waiting for the fix. When you start working on IPv6 support, you can then have a new look at what has been done, and determine whether it's good enough - as it seemed when merging -, or needs to be improved.

@bernhardkaindl bernhardkaindl mentioned this pull request Oct 26, 2023
retVal = pif['netmask']
ipv6 = pif['primary_address_type'].lower() == 'ipv6'
try:
retVal = pif['IPv6'][0].split('/')[1] if ipv6 else pif['netmask']
Copy link

@lindig lindig Nov 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add in a comment an example for the expected format - to understand why this should work with IPv6?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@benjamreis benjamreis force-pushed the adapt-for-ipv6 branch 3 times, most recently from db9de97 to b2d465c Compare February 16, 2024 07:50
Display IPv6 PIF's fields when `primary_address_type` is `IPv6`
Reconfigure management interface with appropriate method
Support network reset in the IPv6 case

Signed-off-by: BenjiReis <benjamin.reis@vates.fr>
Signed-off-by: Benjamin Reis <benjamin.reis@vates.tech>
Signed-off-by: Benjamin Reis <benjamin.reis@vates.tech>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants