Commit 7e152524 authored by Jan Beulich's avatar Jan Beulich Committed by David S. Miller

xfrm: make xfrm_algo.c a module

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: default avatarJan Beulich <jbeulich@suse.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bcebe559
...@@ -312,7 +312,7 @@ config SYN_COOKIES ...@@ -312,7 +312,7 @@ config SYN_COOKIES
config INET_AH config INET_AH
tristate "IP: AH transformation" tristate "IP: AH transformation"
select XFRM select XFRM_ALGO
select CRYPTO select CRYPTO
select CRYPTO_HMAC select CRYPTO_HMAC
select CRYPTO_MD5 select CRYPTO_MD5
...@@ -324,7 +324,7 @@ config INET_AH ...@@ -324,7 +324,7 @@ config INET_AH
config INET_ESP config INET_ESP
tristate "IP: ESP transformation" tristate "IP: ESP transformation"
select XFRM select XFRM_ALGO
select CRYPTO select CRYPTO
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_HMAC select CRYPTO_HMAC
......
...@@ -69,7 +69,7 @@ config IPV6_OPTIMISTIC_DAD ...@@ -69,7 +69,7 @@ config IPV6_OPTIMISTIC_DAD
config INET6_AH config INET6_AH
tristate "IPv6: AH transformation" tristate "IPv6: AH transformation"
select XFRM select XFRM_ALGO
select CRYPTO select CRYPTO
select CRYPTO_HMAC select CRYPTO_HMAC
select CRYPTO_MD5 select CRYPTO_MD5
...@@ -81,7 +81,7 @@ config INET6_AH ...@@ -81,7 +81,7 @@ config INET6_AH
config INET6_ESP config INET6_ESP
tristate "IPv6: ESP transformation" tristate "IPv6: ESP transformation"
select XFRM select XFRM_ALGO
select CRYPTO select CRYPTO
select CRYPTO_AUTHENC select CRYPTO_AUTHENC
select CRYPTO_HMAC select CRYPTO_HMAC
......
...@@ -3,12 +3,17 @@ ...@@ -3,12 +3,17 @@
# #
config XFRM config XFRM
bool bool
select CRYPTO
depends on NET depends on NET
config XFRM_ALGO
tristate
select XFRM
select CRYPTO
config XFRM_USER config XFRM_USER
tristate "Transformation user configuration interface" tristate "Transformation user configuration interface"
depends on INET && XFRM depends on INET
select XFRM_ALGO
---help--- ---help---
Support for Transformation(XFRM) user configuration interface Support for Transformation(XFRM) user configuration interface
like IPsec used by native Linux tools. like IPsec used by native Linux tools.
...@@ -48,13 +53,13 @@ config XFRM_STATISTICS ...@@ -48,13 +53,13 @@ config XFRM_STATISTICS
config XFRM_IPCOMP config XFRM_IPCOMP
tristate tristate
select XFRM select XFRM_ALGO
select CRYPTO select CRYPTO
select CRYPTO_DEFLATE select CRYPTO_DEFLATE
config NET_KEY config NET_KEY
tristate "PF_KEY sockets" tristate "PF_KEY sockets"
select XFRM select XFRM_ALGO
---help--- ---help---
PF_KEYv2 socket family, compatible to KAME ones. PF_KEYv2 socket family, compatible to KAME ones.
They are required if you are going to use IPsec tools ported They are required if you are going to use IPsec tools ported
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
# #
obj-$(CONFIG_XFRM) := xfrm_policy.o xfrm_state.o xfrm_hash.o \ 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 xfrm_sysctl.o xfrm_replay.o
obj-$(CONFIG_XFRM_STATISTICS) += xfrm_proc.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_USER) += xfrm_user.o
obj-$(CONFIG_XFRM_IPCOMP) += xfrm_ipcomp.o obj-$(CONFIG_XFRM_IPCOMP) += xfrm_ipcomp.o
...@@ -752,3 +752,5 @@ void *pskb_put(struct sk_buff *skb, struct sk_buff *tail, int len) ...@@ -752,3 +752,5 @@ void *pskb_put(struct sk_buff *skb, struct sk_buff *tail, int len)
} }
EXPORT_SYMBOL_GPL(pskb_put); EXPORT_SYMBOL_GPL(pskb_put);
#endif #endif
MODULE_LICENSE("GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment