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

WIP: IPv6 support #59

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Conversation

guillaumerose
Copy link
Contributor

This PR adds IPv6 support. I still need to refactor some code esp. the 2 hacks needed.

At least, we have something working!

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 30, 2021

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: guillaumerose

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 7, 2022

@guillaumerose: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@rhatdan
Copy link
Member

rhatdan commented Aug 2, 2022

@guillaumerose Are you still working on this?

@guillaumerose
Copy link
Contributor Author

No, not anymore but it was working fine. A user tested it also with success.

@rhatdan
Copy link
Member

rhatdan commented Aug 7, 2022

Care to update it?
@gbraad @baude PTAL

@gbraad
Copy link
Member

gbraad commented Aug 8, 2022

I do not see a compelling benefit for our VM setup.


The rebase is quite trivial, but we do not have much time on our end to experiment with this. as mentioned it is not a compelling change for us. OpenShift has to run in a dual stack setup and has to use OVN-Kubernetes cluster network provider, which in our tests consumes a lot more resources (which causes the current defaults to be insufficient).

@praveenkumar
Copy link
Contributor

It need rebase and also WIP so better someone who have bit info around ipv6 test/review it.

@ghost
Copy link

ghost commented Aug 8, 2022

@gbraad the value is that this would just prepare the codebase for the future. ipv4 is a relic of the past that's on life support because it's "good enough" right now while companies struggle to get subnet assignments.

@gbraad
Copy link
Member

gbraad commented Aug 8, 2022

I understand, but there is no one on my team who can reserve time for this in the coming weeks. As this is not something we can use now. It will actually adversely affect us if we fully support this. Our prio is on filesharing to running on Arm/M1.

Note: routes are exposed on the local machine for crc. The internal network (vm) is mostly abstracted from the user. This is why the benefits arent as big on our end.

The only requests we received were around 'testing' and 'getting experience', though our primary usecase is for development of applications running on the cluster.


Added to sprint 223 of CRC; but can't promise we will work on this.

@gbraad
Copy link
Member

gbraad commented Aug 8, 2022

It need rebase and also WIP so better someone who have bit info around ipv6 test/review it.

The 'hacks' remains a commit without clear definition what made them called as such.

@gbraad gbraad self-assigned this Aug 9, 2022
@ghost
Copy link

ghost commented Aug 9, 2022

It's definitely nowhere near urgent to get this rolled out. In December, I could put some effort into this. This was something I tried working on last year, but I ran out of time last year.

@gbraad
Copy link
Member

gbraad commented Aug 10, 2022

We prioritized this as part of the crc Podman bundle. Definitely will happen before December. Might ask you for testing/confirmation. After my PTO have to reinstall my router and switch anyway due to a mistake so will make Ipv6 a priority 😝.

@ghost
Copy link

ghost commented Aug 12, 2022

Might ask you for testing/confirmation.

Definitely happy to help out with that. Even though I left Red Hat earlier this year, I still have a vested personal interest in tools like gvproxy.

@gbraad
Copy link
Member

gbraad commented Aug 30, 2022

I still have a vested personal interest in tools like gvproxy.

What are you using it for?

@ghost
Copy link

ghost commented Aug 31, 2022

Been working on using Apple's virtualization framework in place of QEMU for some stability + performance gains to be had with the virtiofs support. Qemu hasn't been very fun since upgrading to the M1 in my experience, but I have a desire to continue using podman over Docker Desktop.

Also have a code base that I'll be revisiting from last December where I began working on a re-write for gvproxy. It's not exactly secure, because of the access to 192.168.127.1 inside of containers.

@gbraad
Copy link
Member

gbraad commented Oct 11, 2022

@protosam We have a driver for this, vfkit that uses vz. However we recently had to fork this driver as the upstream owner is not very helpful: crc-org/crc#3362 it might be an idea to talk to @cfergeau.

@ghost
Copy link

ghost commented Oct 12, 2022

@gbraad Will follow up in that issue. I'm open to contributing on an eco-system around the vz code base, because I'm already using it.

@cfergeau
Copy link
Contributor

I've rebased this branch in https://github.com/cfergeau/gvisor-tap-vsock/tree/ipv6 it builds but I haven't tested it.

@balajiv113
Copy link
Contributor

Any plans for this feature ??

I tried this patch with latest but facing issues not able to resolve it 😕

@cfergeau
Copy link
Contributor

Feature is planned, but very low priority at the moment :-/

@gbraad gbraad requested review from gbraad and removed request for gbraad December 7, 2023 08:45
@sanmai-NL
Copy link

@cfergeau Why is it low priority? IPv6 is very essential and basic on nowadays' Internet?

@gbraad
Copy link
Member

gbraad commented Jan 20, 2024

@sanmai-NL The nowadays internet is still mostly IPv4 based. As an example, GitHub does not even have an IPv6 address, so it means you have to run a hybrid stack (or proxy).

Since we have to prioritize tasks to work on, we have decided first to resolve the virtualization of Podman Machine on macOS and moving to vfkit (instead of Qemu); we experienced issues with qemu+virtio. After this we will first refactor the codebase and improve the buffers. IPv6 will happen at some point, just need to be more strategic. Hope you understand.

Do you have a specific usecase that otherwise will not work?

@max06
Copy link

max06 commented Jul 2, 2024

Do you have a specific usecase that otherwise will not work?

Our company network is IPv6 only. Which makes pulling from our internal registry impossible using Podman Desktop (and Docker Desktop) on mac. Just found out the hard way.

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

Successfully merging this pull request may close these issues.

8 participants