kmod-crypto-ipsec bundles some otherwise unprovided kernel crypto
modules that are useful for IPSEC. This is an alternative to breaking
these modules out into kmod-crypto-wq (crypto_wq.ko), kmod-crypto-rng
(rng.ko and krng.ko), and kmod-crypto-iv (eseqiv.ko and chainiv.ko).

Signed-off-by: Lars Hjersted <l...@hjersted.com>
---
 package/kernel/modules/crypto.mk |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/package/kernel/modules/crypto.mk b/package/kernel/modules/crypto.mk
index b895224..ab7d297 100644
--- a/package/kernel/modules/crypto.mk
+++ b/package/kernel/modules/crypto.mk
@@ -28,6 +28,13 @@ CRYPTOMGR_MODULES = \
        MANAGER2=cryptomgr \
        BLKCIPHER2=crypto_blkcipher
 
+CRYPTOIPSEC_MODULES = \
+       WORKQUEUE=crypto_wq \
+       RNG2=rng \
+       RNG2=krng \
+       BLKCIPHER2=eseqiv \
+       BLKCIPHER2=chainiv
+
 crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1)))
 crypto_file=$(if $(findstring y,$($(call 
crypto_confvar,$(1)))),,$(LINUX_DIR)/crypto/$(word 2,$(subst 
=,$(space),$(1))).ko)
 crypto_name=$(if $(findstring y,$($(call crypto_confvar,$(1)))),,$(word 
2,$(subst =,$(space),$(1))))
@@ -76,6 +83,15 @@ define KernelPackage/crypto-manager
 endef
 $(eval $(call KernelPackage,crypto-manager))
 
+define KernelPackage/crypto-ipsec
+  TITLE:=IPSEC CryptoAPI modules
+  KCONFIG:=$(foreach mod,$(CRYPTOIPSEC_MODULES),$(call crypto_confvar,$(mod)))
+  FILES:=$(foreach mod,$(CRYPTOIPSEC_MODULES),$(call crypto_file,$(mod)))
+  AUTOLOAD:=$(call AutoLoad,09,$(foreach mod,$(CRYPTOIPSEC_MODULES),$(call 
crypto_name,$(mod))))
+  $(call AddDepends/crypto)
+endef
+$(eval $(call KernelPackage,crypto-ipsec))
+
 define KernelPackage/crypto-hw-padlock
   TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
   DEPENDS:=+kmod-crypto-aes
-- 
1.7.4.1

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to