-
Notifications
You must be signed in to change notification settings - Fork 600
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
feat(ipv6): Add support to IPv6 port-forwarding #1541
base: master
Are you sure you want to change the base?
Conversation
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.
I haven't reviewed the changes to the pseudo loopback forwarder yet, and am out of time for now, but here is some initial feedback:
5a87c35
to
5f93deb
Compare
Signed-off-by: Victor Gama <[email protected]>
Co-authored-by: Jan Dubois <[email protected]> Signed-off-by: Victor Gama <[email protected]>
@jandubois PTAL |
@lima-vm/maintainers What should we do with this? |
Sorry, needs rebase |
@lima-vm/maintainers |
@AkihiroSuda Would you mind if I rebase and force-push? |
Please rebase and force-push 👍 |
This is totally on me; I know I said I had a plan to make this backwards compatible, and never followed up on it. Now I cannot even remember the plan anymore, but I think I had some private conversation on Slack with @heyvito, that I will need to re-read. Please give me until Monday evening to comment on this, and go ahead merging it if I don't manage to reply by then. And @heyvito, please go ahead and rebase so it can be tested with the latest |
Hi @heyvito, I want to apologize again for taking so long to get back to you about this PR! Below are my notes from reviewing it again today, plus an alternate proposal which I think simplifies the logic, maintains backwards compatibility, and provides extended functionality. This is the rough first draft; normally I would let it simmer and refine it over a day or two before posting, but I promised to deliver something today. So it is possible that there are some errors/thinkos in that review. Also let's wait for some feedback on my proposal from the other maintainers before you go in and make changes... Ok, here it goes... The root problemThe This PR was created to fix #1540, which asks for forwarding IPv6 ports in the guest to IPv6 ports on the host (and the same for IPv4). The implementationThis PR changes the way an unspecified The current implementation sets the portForwards:
- guestIP: 127.0.0.1
guestPort: 8080 This will forward This PR changes it to forward to The same changes apply to forwarding ports on
|
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.
I've left my comments already in the main thread of this PR.
In summary, I would like to see:
- no breakage of backwards compatibility; no changes to existing tests
- maintain iterating through rules once and stopping at first match
- be able to have separate rules for IPv4 and IPv6
- documentation for any new behaviour
- documented test cases for any new functionality
@lima-vm/maintainers Any feedback on my proposal? Any suggestions for better names for the proposed setting? @heyvito Are you still interested in working on this? Do you have any thoughts on my proposed alternate implementation? Anything I overlooked? |
As discussed on #1540 and over Slack with @jandubois, this adds support for forwarding IPv6 ports to the host. This also updates
test-port-forwarding.pl
to obtain the host's IPv6 address and store it onto use IPv6 addresses as required given the nature of changes in the forwarding rules.$ipv6
, allowing said script to be further developed in order to accommodate future IPv6 testsI think I only changed rules that were expecting IPv4 bindings to expect IPv6, but please double-check it <3
Closes #1540.