Skip to content

Commit

Permalink
xfrm: make xfrm_algo.c a module
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
jbeulich authored and davem330 committed May 15, 2012
1 parent bcebe55 commit 7e15252
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 9 deletions.
4 changes: 2 additions & 2 deletions net/ipv4/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions net/ipv6/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
13 changes: 9 additions & 4 deletions net/xfrm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion net/xfrm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 2 additions & 0 deletions net/xfrm/xfrm_algo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");

0 comments on commit 7e15252

Please sign in to comment.