IRATI / stack

RINA implementation for OS/Linux
http://irati.github.io/stack
73 stars 39 forks source link

5.10 fixes #1344

Closed fdgonthier closed 3 years ago

fdgonthier commented 3 years ago

This fixes compilation of the IRATI kernel modules for Linux 5.10 kernel

This is just an RFC PR as this is untested. The patch is enough for the modules to compile and load but I I do not know how to configure my sample RINA setup with encryption so that this code path get used. Suggestion are welcome.

TRIA commented 3 years ago

The CI failures are on kernels 4.1 and 4.2, which had not yet incorporated the new crypto API. Those kernels are ancient, and could be removed from the CI with little loss.

Per https://en.wikipedia.org/wiki/Linux_kernel_version_history those kernels are not LTS.

edugrasa commented 3 years ago

Hi,

Thanks for the fix proposal! However it does not comply with the practice we have been following to support multiple kernel version (which is not written anywhere, I know and sorry for that :) ).

The trick is to use #if, #else, #endif primitives that take into account the kernel version, like in https://github.com/IRATI/stack/blob/master/kernel/ipcps/shim-tcp-udp.c#L724

Could you update your pull request so that the new code you added gets used for versions 4.3 up and the old code for versions 4.2 down? Thanks a lot!

fdgonthier commented 3 years ago

Alright, I will update the code, no problem.

But I would also like to know how to test this feature. I couldn't find any configuration example about this.

edugrasa commented 3 years ago

Hi,

You can use the tutorial in https://github.com/IRATI/stack/wiki/Tutorial-3:-Security-provider-net to test this feature. You don't need to deploy the whole scenario depicted in the tutorial, it will be enough with the red DIF (access. DIF) and the "Customer border Router" and "Provider border router 1" systems (so a couple of VMs are enough for testing this).

Cheers,

Eduard

edugrasa commented 3 years ago

Closing this PR. The code to support 5.5+ kernels has been already merged in; in case something does not work please let me now :)