Otherwise 64bits kernel has sizeof(struct xfrm_userpolicy_info) 168 bytes, while 32bits compiled iproute2 see the same structure as 164 bytes, which leading deficit xfrm policy, in turn broken IPsec connectivity.
Fix this by packing the structure. Signed-off-by: Fan Du <[email protected]> --- include/uapi/linux/xfrm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h index a8cd6a4..470bfae 100644 --- a/include/uapi/linux/xfrm.h +++ b/include/uapi/linux/xfrm.h @@ -405,7 +405,7 @@ struct xfrm_userpolicy_info { /* Automatically expand selector to include matching ICMP payloads. */ #define XFRM_POLICY_ICMP 2 __u8 share; -}; +} __attribute__((packed)); struct xfrm_userpolicy_id { struct xfrm_selector sel; -- 1.7.9.5 _______________________________________________ Dev mailing list [email protected] https://lists.strongswan.org/mailman/listinfo/dev
