X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fipsec%2Fipsec_if.h;h=34a1721f4fc7b9db5a753262a4827490ea758229;hb=e524d45ef;hp=96a109ddaf5abb65db5d18c42aa3127eda31d18e;hpb=999c8ee6d6f1c07ba7877fb3f9aa66a90774aacc;p=vpp.git diff --git a/src/vnet/ipsec/ipsec_if.h b/src/vnet/ipsec/ipsec_if.h index 96a109ddaf5..34a1721f4fc 100644 --- a/src/vnet/ipsec/ipsec_if.h +++ b/src/vnet/ipsec/ipsec_if.h @@ -33,15 +33,18 @@ typedef struct u32 input_sa_index; u32 output_sa_index; u32 hw_if_index; + u32 sw_if_index; + vnet_hw_interface_flags_t flags; u32 show_instance; } ipsec_tunnel_if_t; typedef struct { u8 is_add; + u8 is_ip6; u8 esn; u8 anti_replay; - ip4_address_t local_ip, remote_ip; + ip46_address_t local_ip, remote_ip; u32 local_spi; u32 remote_spi; ipsec_crypto_alg_t crypto_alg; @@ -60,22 +63,52 @@ typedef struct u32 tx_table_id; } ipsec_add_del_tunnel_args_t; +/* *INDENT-OFF* */ +typedef CLIB_PACKED +(struct { + /* + * Key fields: remote ip and spi on incoming packet + * all fields in NET byte order + */ + union { + struct { + u32 remote_ip; + u32 spi; + }; + u64 as_u64; + }; +}) ipsec4_tunnel_key_t; +/* *INDENT-ON* */ + +/* *INDENT-OFF* */ +typedef CLIB_PACKED +(struct { + /* + * Key fields: remote ip and spi on incoming packet + * all fields in NET byte order + */ + ip6_address_t remote_ip; + u32 spi; +}) ipsec6_tunnel_key_t; +/* *INDENT-ON* */ + typedef struct { u8 is_add; u32 local_sa_id; u32 remote_sa_id; - ip4_address_t local_ip; - ip4_address_t remote_ip; -} ipsec_add_del_ipsec_gre_tunnel_args_t; + ip4_address_t src; + ip4_address_t dst; +} ipsec_gre_tunnel_add_del_args_t; extern int ipsec_add_del_tunnel_if_internal (vnet_main_t * vnm, ipsec_add_del_tunnel_args_t * args, u32 * sw_if_index); extern int ipsec_add_del_tunnel_if (ipsec_add_del_tunnel_args_t * args); extern int ipsec_add_del_ipsec_gre_tunnel (vnet_main_t * vnm, - ipsec_add_del_ipsec_gre_tunnel_args_t - * args); + const + ipsec_gre_tunnel_add_del_args_t * + args); extern int ipsec_set_interface_key (vnet_main_t * vnm, u32 hw_if_index, ipsec_if_set_key_type_t type,