xref: /openbmc/linux/net/xfrm/xfrm_compat.c (revision c9e7c76d70fa50582ca96759829c93d0dd024662)
1*c9e7c76dSDmitry Safonov // SPDX-License-Identifier: GPL-2.0
2*c9e7c76dSDmitry Safonov /*
3*c9e7c76dSDmitry Safonov  * XFRM compat layer
4*c9e7c76dSDmitry Safonov  * Author: Dmitry Safonov <dima@arista.com>
5*c9e7c76dSDmitry Safonov  * Based on code and translator idea by: Florian Westphal <fw@strlen.de>
6*c9e7c76dSDmitry Safonov  */
7*c9e7c76dSDmitry Safonov #include <linux/compat.h>
8*c9e7c76dSDmitry Safonov #include <linux/xfrm.h>
9*c9e7c76dSDmitry Safonov #include <net/xfrm.h>
10*c9e7c76dSDmitry Safonov 
11*c9e7c76dSDmitry Safonov static struct xfrm_translator xfrm_translator = {
12*c9e7c76dSDmitry Safonov 	.owner				= THIS_MODULE,
13*c9e7c76dSDmitry Safonov };
14*c9e7c76dSDmitry Safonov 
15*c9e7c76dSDmitry Safonov static int __init xfrm_compat_init(void)
16*c9e7c76dSDmitry Safonov {
17*c9e7c76dSDmitry Safonov 	return xfrm_register_translator(&xfrm_translator);
18*c9e7c76dSDmitry Safonov }
19*c9e7c76dSDmitry Safonov 
20*c9e7c76dSDmitry Safonov static void __exit xfrm_compat_exit(void)
21*c9e7c76dSDmitry Safonov {
22*c9e7c76dSDmitry Safonov 	xfrm_unregister_translator(&xfrm_translator);
23*c9e7c76dSDmitry Safonov }
24*c9e7c76dSDmitry Safonov 
25*c9e7c76dSDmitry Safonov module_init(xfrm_compat_init);
26*c9e7c76dSDmitry Safonov module_exit(xfrm_compat_exit);
27*c9e7c76dSDmitry Safonov MODULE_LICENSE("GPL");
28*c9e7c76dSDmitry Safonov MODULE_AUTHOR("Dmitry Safonov");
29*c9e7c76dSDmitry Safonov MODULE_DESCRIPTION("XFRM 32-bit compatibility layer");
30