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: Jan Beulich <jbeulich@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jan Beulich 2012-05-15 01:57:44 +00:00 committed by David S. Miller
parent bcebe55957
commit 7e15252498
5 changed files with 17 additions and 9 deletions

View file

@ -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
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

View file

@ -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
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

View file

@ -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
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

View file

@ -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

View file

@ -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");