-
Notifications
You must be signed in to change notification settings - Fork 66
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
Crash in find_bib_session6.constprop on 4.1.13 #426
Comments
Hey. Sorry about the wait. This one looks difficult. Might take a while to find. Couple of notes: 1This is not a crash; it's a warning. It's supposed to be an impossible situation, but Jool recovers anyway. The worst that should happen is the packet gets discarded. (And that mess of text in the logs.) Was your kernel really unusable after this? 2This is the hole punching code. I've never seen anyone talk about it, so I don't think anyone's using it, at least consciously. I implemented it so long ago, it might as well have been broken by some intrusive refactor over the years. Are you really trying to punch a hole through Jool? If you don't care about it, you can turn it off:
or
|
Yes, the VM was not forwarding packets any longer, and I was unable to SSH in. Needed a hard reset.
No, we were not explicitly trying to do hole punching. I can give that a shot, but it will take until 2025-09 until I get another chance to deploy that setup. |
Drat. This is two bugs, then. This is altogether weird. As far as I can tell, hole punching shouldn't even work on Jool, because it doesn't do TCP port preservation at all. It seems this code isn't really doing anything. (Apart from crashing, that is.) It's looking like the right course of action would be to just delete it. Or implement configurable port preservation somehow. Except no one has ever requested it. |
(Just thinking out loud.) Bit of background: The session members are called
In TCP, The names make less sense IPv4 -> IPv6 direction, as they seem inverted:
But that's something RFC 6146 seems happy to live with. Jool's current hole punching algorithm (which, according to my notes, involved a bunch of guesswork) is
So even though Jool doesn't do port preservation between Hmmmmmmmmm. |
Hi!
We used jool recently for 464XLAT with Android clients exclusively. They managed to trigger the following crash:
Jool 4.1.13
Kernel: 6.6.52
Distro: NixOS
The text was updated successfully, but these errors were encountered: