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

Better handle missing MOBIKE kernel support #221

Closed
hwdsl2 opened this issue Nov 2, 2018 · 7 comments
Closed

Better handle missing MOBIKE kernel support #221

hwdsl2 opened this issue Nov 2, 2018 · 7 comments

Comments

@hwdsl2
Copy link

hwdsl2 commented Nov 2, 2018

With Libreswan 3.27, when mobike=yes is specified in an IKEv2 conn section in /etc/ipsec.conf, and the Linux kernel does not support it, an error message is shown:

MOBIKE kernel support missing for netkey interface: CONFIG_XFRM_MIGRATE && CONFIG_NET_KEY_MIGRATE

And the conn section in /etc/ipsec.conf is not loaded at all. Would it be better to load the connection section anyway but just disable MOBIKE? Also, can you please clarify which Linux kernel versions (3.x, 4.x, etc.) have MOBIKE support, and how to check if it is supported on a particular system?

Thank you!

@letoams
Copy link
Member

letoams commented Nov 2, 2018 via email

@letoams
Copy link
Member

letoams commented Feb 28, 2019

Developers disagree on what is best in this case. silently disable mobike and have the connection work without mobike support, or fail to load the connection. I agree with you (since the remote endpoint can also decide to not do mobike and then your connection with mobike=yes also works without mobike)

I'll try to convince the other devs :)

@hwdsl2
Copy link
Author

hwdsl2 commented Feb 28, 2019 via email

@antonyantony
Copy link
Collaborator

@hwdsl2 as it is now yes|no, it is better not to load the connection when kernel support is not detected.

Another possibility I can imagine is add a third option auto. And leave the yes|no as it is.

Auto would load connection, detect kernel support and decide to send|respond to mobike payload, depending on initiating or responding.
As I see it , this is a bigger change, and patches welcome.
It would also need to clearly print, per connection three cases. mobike : configured, detected, and negotiated. Also part of the detection would be warning, when kernel is missing support.
mobike=auto would be a nice to have feature. Not sure when!

Currently if you just change to load the connection pluto will send and respond to MOBIKE notification that would be bad.

Another possibility is request Debian and Ubuntu kernel team to enable CONFIG_XFRM_MIGRATE in the default kernel. New xfrm features are N in kernel. Application developers/users have request to enble it This is a recurring issue coming up next is CONFIG_XFRM_INTERFACE.

@letoams
Copy link
Member

letoams commented Jun 13, 2019

auto is not a valid default for mobike= as it would enable mobike for static von connections which is a security risk. Therefor the yes|no|auto cannot work (as I explained on the swan-dev mailing list) unless you default it to "no". But then the user would have to understand that mobike=yes and mobike=auto means kind of the same thing but auto will work if your local kernel is missing support it will treat it as "no".

I find that super complicated for the enduser and not a reasonable solution.

@HughR
Copy link
Collaborator

HughR commented Jun 13, 2019 via email

@letoams
Copy link
Member

letoams commented Jun 13, 2019 via email

@bleve bleve closed this as completed Jun 13, 2019
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

No branches or pull requests

5 participants