mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 05:29:04 -04:00
xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate)
Provides implementation of the enhancements of XFRM/PF_KEY MIGRATE mechanism specified in draft-ebalard-mext-pfkey-enhanced-migrate-00. Defines associated PF_KEY SADB_X_EXT_KMADDRESS extension and XFRM/netlink XFRMA_KMADDRESS attribute. Signed-off-by: Arnaud Ebalard <arno@natisbad.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
95430c0b14
commit
13c1d18931
7 changed files with 154 additions and 37 deletions
|
|
@ -226,6 +226,15 @@ struct sadb_x_sec_ctx {
|
|||
} __attribute__((packed));
|
||||
/* sizeof(struct sadb_sec_ctx) = 8 */
|
||||
|
||||
/* Used by MIGRATE to pass addresses IKE will use to perform
|
||||
* negotiation with the peer */
|
||||
struct sadb_x_kmaddress {
|
||||
uint16_t sadb_x_kmaddress_len;
|
||||
uint16_t sadb_x_kmaddress_exttype;
|
||||
uint32_t sadb_x_kmaddress_reserved;
|
||||
} __attribute__((packed));
|
||||
/* sizeof(struct sadb_x_kmaddress) == 8 */
|
||||
|
||||
/* Message types */
|
||||
#define SADB_RESERVED 0
|
||||
#define SADB_GETSPI 1
|
||||
|
|
@ -346,7 +355,9 @@ struct sadb_x_sec_ctx {
|
|||
#define SADB_X_EXT_NAT_T_DPORT 22
|
||||
#define SADB_X_EXT_NAT_T_OA 23
|
||||
#define SADB_X_EXT_SEC_CTX 24
|
||||
#define SADB_EXT_MAX 24
|
||||
/* Used with MIGRATE to pass @ to IKE for negotiation */
|
||||
#define SADB_X_EXT_KMADDRESS 25
|
||||
#define SADB_EXT_MAX 25
|
||||
|
||||
/* Identity Extension values */
|
||||
#define SADB_IDENTTYPE_RESERVED 0
|
||||
|
|
|
|||
|
|
@ -279,6 +279,7 @@ enum xfrm_attr_type_t {
|
|||
XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */
|
||||
XFRMA_MIGRATE,
|
||||
XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */
|
||||
XFRMA_KMADDRESS, /* struct xfrm_user_kmaddress */
|
||||
__XFRMA_MAX
|
||||
|
||||
#define XFRMA_MAX (__XFRMA_MAX - 1)
|
||||
|
|
@ -415,6 +416,15 @@ struct xfrm_user_report {
|
|||
struct xfrm_selector sel;
|
||||
};
|
||||
|
||||
/* Used by MIGRATE to pass addresses IKE should use to perform
|
||||
* SA negotiation with the peer */
|
||||
struct xfrm_user_kmaddress {
|
||||
xfrm_address_t local;
|
||||
xfrm_address_t remote;
|
||||
__u32 reserved;
|
||||
__u16 family;
|
||||
};
|
||||
|
||||
struct xfrm_user_migrate {
|
||||
xfrm_address_t old_daddr;
|
||||
xfrm_address_t old_saddr;
|
||||
|
|
|
|||
Loading…
Reference in a new issue