カーネル [3.9.11] の crypto API で、IPsec 用の単一ブロック対称暗号 [CIPHER] アルゴリズムを開発しました。.ko モジュールをカーネルにロードすると、アルゴリズムの情報が /proc/crypto に表示されます。
2 台の Linux マシン間で IPsec トンネルを確立したいときに問題が発生し、エラーが発生します。
"tun/1x1": requested kernel enc ealg_id=254 not present
問題を特定するためにコードを検索したところ、xfrm_probe_algs
その機能が暗号アルゴリズムの可用性をチェックする機能であることがわかりました。この関数では、行
status = crypto_has_ablkcipher(ealg_list[i].name, 0, 0);
「非同期マルチブロック暗号」のみをチェックするようです。しかし、私が書いたアルゴリズムは「Single-Block symmetric Cipher」タイプであり、この問題のために私のアルゴリズムは正しく動作しません。3.9.11 カーネルの IPsec トンネルで単一ブロック対称暗号を使用できる方法があるかどうかを知りたいです。
よろしくお願いします