Ping!
On 22 June 2017 at 09:55, Bogdan Pricope <[email protected]> wrote: > Signed-off-by: Bogdan Pricope <[email protected]> > --- > include/odp/api/spec/ipsec.h | 114 > ++++++++++++++++++++++++------------------- > 1 file changed, 63 insertions(+), 51 deletions(-) > > diff --git a/include/odp/api/spec/ipsec.h b/include/odp/api/spec/ipsec.h > index e602e4b..5373ede 100644 > --- a/include/odp/api/spec/ipsec.h > +++ b/include/odp/api/spec/ipsec.h > @@ -604,8 +604,8 @@ typedef enum odp_ipsec_ip_version_t { > * IPSEC Security Association (SA) parameters > */ > typedef struct odp_ipsec_sa_param_t { > - /** IPSEC SA direction: inbound or outbound */ > - odp_ipsec_dir_t dir; > + /** SPI value */ > + uint32_t spi; > > /** IPSEC protocol: ESP or AH */ > odp_ipsec_protocol_t proto; > @@ -616,51 +616,12 @@ typedef struct odp_ipsec_sa_param_t { > /** Parameters for crypto and authentication algorithms */ > odp_ipsec_crypto_param_t crypto; > > - /** Parameters for tunnel mode */ > - odp_ipsec_tunnel_param_t tunnel; > - > - /** Fragmentation mode */ > - odp_ipsec_frag_mode_t frag_mode; > - > - /** Various SA option flags */ > - odp_ipsec_sa_opt_t opt; > - > /** SA lifetime parameters */ > odp_ipsec_lifetime_t lifetime; > > - /** SA lookup mode */ > - odp_ipsec_lookup_mode_t lookup_mode; > - > - /** Minimum anti-replay window size. Use 0 to disable anti-replay > - * service. */ > - uint32_t antireplay_ws; > - > /** Initial sequence number */ > uint64_t seq; > > - /** SPI value */ > - uint32_t spi; > - > - /** Additional inbound SA lookup parameters. Values are considered > - * only in ODP_IPSEC_LOOKUP_DSTADDR_SPI lookup mode. */ > - struct { > - /** Select IP version > - */ > - odp_ipsec_ip_version_t ip_version; > - > - /** IP destination address (NETWORK ENDIAN) */ > - void *dst_addr; > - > - } lookup_param; > - > - /** MTU for outbound IP fragmentation offload > - * > - * This is the maximum length of IP packets that outbound IPSEC > - * operations may produce. The value may be updated later with > - * odp_ipsec_mtu_update(). > - */ > - uint32_t mtu; > - > /** Select pipelined destination for resulting events > * > * Asynchronous and inline modes generate events. Select where > @@ -677,16 +638,67 @@ typedef struct odp_ipsec_sa_param_t { > */ > odp_queue_t dest_queue; > > - /** Classifier destination CoS for resulting packets > - * > - * Successfully decapsulated packets are sent to classification > - * through this CoS. Other resulting events are sent to 'dest_queue'. > - * This field is considered only when 'pipeline' is > - * ODP_IPSEC_PIPELINE_CLS. The CoS must not be shared between any > pktio > - * interface default CoS. The maximum number of different CoS > supported > - * is defined by IPSEC capability max_cls_cos. > - */ > - odp_cos_t dest_cos; > + /** IPSEC SA direction: inbound or outbound */ > + odp_ipsec_dir_t dir; > + > + /** IPSEC SA direction dependent parameters */ > + union { > + /** Inbound specific parameters */ > + struct { > + /** SA lookup mode */ > + odp_ipsec_lookup_mode_t lookup_mode; > + > + /** Additional inbound SA lookup parameters. Values > are > + * considered only in ODP_IPSEC_LOOKUP_DSTADDR_SPI > + * lookup mode. */ > + struct { > + /** Select IP version > + */ > + odp_ipsec_ip_version_t ip_version; > + > + /** IP destination address (NETWORK ENDIAN) */ > + void *dst_addr; > + > + } lookup_param; > + > + /** Minimum anti-replay window size. Use 0 to disable > + * anti-replay service. */ > + uint32_t antireplay_ws; > + > + /** Classifier destination CoS for resulting packets > + * > + * Successfully decapsulated packets are sent to > + * classification through this CoS. Other resulting > + * events are sent to 'dest_queue'. > + * This field is considered only when 'pipeline' is > + * ODP_IPSEC_PIPELINE_CLS. The CoS must not be shared > + * between any pktio interface default CoS. The > maximum > + * number of different CoS supported is defined by > + * IPSEC capability max_cls_cos. > + */ > + odp_cos_t dest_cos; > + } inbound; > + > + /** Outbound specific parameters */ > + struct { > + /** Parameters for tunnel mode */ > + odp_ipsec_tunnel_param_t tunnel; > + > + /** MTU for outbound IP fragmentation offload > + * > + * This is the maximum length of IP packets that > + * outbound IPSEC operations may produce. The value > may > + * be updated later with odp_ipsec_mtu_update(). > + */ > + uint32_t mtu; > + > + /** Fragmentation mode */ > + odp_ipsec_frag_mode_t frag_mode; > + } outbound; > + }; > + > + /** Various SA option flags */ > + odp_ipsec_sa_opt_t opt; > > /** User defined SA context pointer > * > -- > 1.9.1 >
