kernel: crypto: package the ChaCha20 cipher for chacha20poly1305 on 6.18

On 6.18 the rfc7539(chacha20,poly1305) template takes its ChaCha20
skcipher from crypto/chacha.ko, which CRYPTO_CHACHA20POLY1305 selects
but no package ships, and which needs lib/crypto/libchacha.ko.
Instantiating rfc7539esp(chacha20,poly1305) for IPsec then fails with
ENOSYS.

Ship chacha.ko with kmod-crypto-chacha20poly1305 on 6.18, load it
before the template and depend on kmod-crypto-lib-chacha20 for
libchacha.ko.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/25544
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Julius Bairaktaris authored and Robert Marko committed 2026-10-11 20:59:07 +02:00
1 parent 097310a9de
commit cd649934dc
1 file changed
+6 -3
+6 -3
View File
@@ -116,10 +116,13 @@ $(eval $(call KernelPackage,crypto-ccm))
define KernelPackage/crypto-chacha20poly1305
TITLE:=ChaCha20-Poly1305 AEAD support, RFC7539 (used by strongSwan IPsec VPN)
DEPENDS:=+kmod-crypto-aead +kmod-crypto-manager +!LINUX_6_12:kmod-crypto-lib-poly1305
DEPENDS:=+kmod-crypto-aead +kmod-crypto-manager \
+!LINUX_6_12:kmod-crypto-lib-chacha20 \
+!LINUX_6_12:kmod-crypto-lib-poly1305
KCONFIG:=CONFIG_CRYPTO_CHACHA20POLY1305
FILES:=$(LINUX_DIR)/crypto/chacha20poly1305.ko
AUTOLOAD:=$(call AutoLoad,09,chacha20poly1305)
FILES:=$(LINUX_DIR)/crypto/chacha20poly1305.ko \
$(LINUX_DIR)/crypto/chacha.ko@ge6.18
AUTOLOAD:=$(call AutoLoad,09,chacha@ge6.18 chacha20poly1305)
$(call AddDepends/crypto)
endef