linux 中的 ipsec 加密支持:SADB_EALG_NONE 对比 SADB_EALG_NULL

ipsec encryption support in linux: SADB_EALG_NONE vs SADB_EALG_NULL

linux/pfkeyv2.h 中,我可以看到以下值:

#define SADB_EALG_NONE          0
...
#define SADB_EALG_NULL          11

任何人都可以解释这些值之间的区别以及在 sadb_sa.sadb_sa_encrypt 中指定这些值将如何影响 ipsec 加密?

SADB_EALG_NONE用于表示SA不加密,而SADB_EALG_NULL表示RFC 2410. As stated in RFC 2367, section 3.5中指定的NULL加密算法,前者只有在不加密时才必须使用可以申请SA(例如AH),后者可以用于ESP SA,可以通过IKE协商。