xfrm: make xfrm_algo.c a module
authorJan Beulich <JBeulich@suse.com>
Tue, 15 May 2012 01:57:44 +0000 (01:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 May 2012 17:13:34 +0000 (13:13 -0400)
By making this a standalone config option (auto-selected as needed),
selecting CRYPTO from here rather than from XFRM (which is boolean)
allows the core crypto code to become a module again even when XFRM=y.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/Kconfig
net/ipv6/Kconfig
net/xfrm/Kconfig
net/xfrm/Makefile
net/xfrm/xfrm_algo.c

index d183262943d9fcb25e3b31a44857d27fe6447818..2c8febd3ebdac7c14018d45b0318900adda8fd8b 100644 (file)
@@ -312,7 +312,7 @@ config SYN_COOKIES
 
 config INET_AH
        tristate "IP: AH transformation"
-       select XFRM
+       select XFRM_ALGO
        select CRYPTO
        select CRYPTO_HMAC
        select CRYPTO_MD5
@@ -324,7 +324,7 @@ config INET_AH
 
 config INET_ESP
        tristate "IP: ESP transformation"
-       select XFRM
+       select XFRM_ALGO
        select CRYPTO
        select CRYPTO_AUTHENC
        select CRYPTO_HMAC
index 36d7437ac054f221b2ddb09c68c0e9fc92ad70dc..5728695b54492dc2d275458b8db786f410e94002 100644 (file)
@@ -69,7 +69,7 @@ config IPV6_OPTIMISTIC_DAD
 
 config INET6_AH
        tristate "IPv6: AH transformation"
-       select XFRM
+       select XFRM_ALGO
        select CRYPTO
        select CRYPTO_HMAC
        select CRYPTO_MD5
@@ -81,7 +81,7 @@ config INET6_AH
 
 config INET6_ESP
        tristate "IPv6: ESP transformation"
-       select XFRM
+       select XFRM_ALGO
        select CRYPTO
        select CRYPTO_AUTHENC
        select CRYPTO_HMAC
index 6d081674515f0a7112580d1328c52bceda0386e5..ce90b8d923655ecfa3634ec864912734a2cd1a98 100644 (file)
@@ -3,12 +3,17 @@
 #
 config XFRM
        bool
-       select CRYPTO
        depends on NET
 
+config XFRM_ALGO
+       tristate
+       select XFRM
+       select CRYPTO
+
 config XFRM_USER
        tristate "Transformation user configuration interface"
-       depends on INET && XFRM
+       depends on INET
+       select XFRM_ALGO
        ---help---
          Support for Transformation(XFRM) user configuration interface
          like IPsec used by native Linux tools.
@@ -48,13 +53,13 @@ config XFRM_STATISTICS
 
 config XFRM_IPCOMP
        tristate
-       select XFRM
+       select XFRM_ALGO
        select CRYPTO
        select CRYPTO_DEFLATE
 
 config NET_KEY
        tristate "PF_KEY sockets"
-       select XFRM
+       select XFRM_ALGO
        ---help---
          PF_KEYv2 socket family, compatible to KAME ones.
          They are required if you are going to use IPsec tools ported
index aa429eefe9191faa7b72f6afe2d4d4714b028180..c0e961983f17a077bde9bab18d946ecef0cba0ae 100644 (file)
@@ -3,8 +3,9 @@
 #
 
 obj-$(CONFIG_XFRM) := xfrm_policy.o xfrm_state.o xfrm_hash.o \
-                     xfrm_input.o xfrm_output.o xfrm_algo.o \
+                     xfrm_input.o xfrm_output.o \
                      xfrm_sysctl.o xfrm_replay.o
 obj-$(CONFIG_XFRM_STATISTICS) += xfrm_proc.o
+obj-$(CONFIG_XFRM_ALGO) += xfrm_algo.o
 obj-$(CONFIG_XFRM_USER) += xfrm_user.o
 obj-$(CONFIG_XFRM_IPCOMP) += xfrm_ipcomp.o
index 791ab2e77f3f2e6ec2f190da781982cd3fc6ffbe..ecd6d8d8a66c5b974dae84aef17879082acc0cf0 100644 (file)
@@ -752,3 +752,5 @@ void *pskb_put(struct sk_buff *skb, struct sk_buff *tail, int len)
 }
 EXPORT_SYMBOL_GPL(pskb_put);
 #endif
+
+MODULE_LICENSE("GPL");