DPDK  21.11.6
rte_security.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright 2017,2019-2020 NXP
3  * Copyright(c) 2017-2020 Intel Corporation.
4  */
5 
6 #ifndef _RTE_SECURITY_H_
7 #define _RTE_SECURITY_H_
8 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #include <sys/types.h>
21 
22 #include <rte_compat.h>
23 #include <rte_common.h>
24 #include <rte_crypto.h>
25 #include <rte_ip.h>
26 #include <rte_mbuf.h>
27 #include <rte_mbuf_dyn.h>
28 #include <rte_memory.h>
29 #include <rte_mempool.h>
30 
37 };
38 
45 };
46 
53 };
54 
60 #define RTE_SECURITY_IPSEC_TUNNEL_VERIFY_DST_ADDR 0x1
61 #define RTE_SECURITY_IPSEC_TUNNEL_VERIFY_SRC_DST_ADDR 0x2
62 
73  void *device;
75  const struct rte_security_ops *ops;
77  uint16_t sess_cnt;
79  uint32_t flags;
81 };
82 
83 #define RTE_SEC_CTX_F_FAST_SET_MDATA 0x00000001
84 
86 #define RTE_SEC_CTX_F_FAST_GET_UDATA 0x00000002
87 
101  union {
102  struct {
103  struct in_addr src_ip;
105  struct in_addr dst_ip;
107  uint8_t dscp;
109  uint8_t df;
111  uint8_t ttl;
113  } ipv4;
115  struct {
116  struct in6_addr src_addr;
118  struct in6_addr dst_addr;
120  uint8_t dscp;
122  uint32_t flabel;
124  uint8_t hlimit;
126  } ipv6;
128  };
129 };
130 
131 struct rte_security_ipsec_udp_param {
132  uint16_t sport;
133  uint16_t dport;
134 };
135 
145  uint32_t esn : 1;
146 
153  uint32_t udp_encap : 1;
154 
162  uint32_t copy_dscp : 1;
163 
170  uint32_t copy_flabel : 1;
171 
178  uint32_t copy_df : 1;
179 
187  uint32_t dec_ttl : 1;
188 
196  uint32_t ecn : 1;
197 
204  uint32_t stats : 1;
205 
218  uint32_t iv_gen_disable : 1;
219 
227  uint32_t tunnel_hdr_verify : 2;
228 
234  uint32_t udp_ports_verify : 1;
235 
249  uint32_t ip_csum_enable : 1;
250 
265  uint32_t l4_csum_enable : 1;
266 
274  uint32_t reserved_opts : 18;
275 };
276 
283 };
284 
307 };
308 
315  uint32_t spi;
317  uint32_t salt;
331  uint32_t replay_win_sz;
335  union {
336  uint64_t value;
337  struct {
338  uint32_t low;
339  uint32_t hi;
340  };
341  } esn;
343  struct rte_security_ipsec_udp_param udp;
345 };
346 
352  int dummy;
353 };
354 
362 };
363 
368 };
369 
382 };
383 
390  int8_t bearer;
394  uint8_t en_ordering;
409  uint32_t hfn;
411  uint32_t hfn_threshold;
420  uint8_t hfn_ovrd;
426  uint8_t sdap_enabled;
428  uint16_t reserved;
429 };
430 
441 };
442 
451 };
452 
456 /* Enumeration of rte_security_session_action_type 8<*/
476 };
477 /* >8 End enumeration of rte_security_session_action_type. */
478 
480 /* Enumeration of rte_security_session_protocol 8<*/
490 };
491 /* >8 End enumeration of rte_security_session_protocol. */
492 
496 /* Structure rte_security_session_conf 8< */
503  union {
504  struct rte_security_ipsec_xform ipsec;
505  struct rte_security_macsec_xform macsec;
506  struct rte_security_pdcp_xform pdcp;
507  struct rte_security_docsis_xform docsis;
508  };
512  void *userdata;
514 };
515 /* >8 End of structure rte_security_session_conf. */
516 
517 struct rte_security_session {
518  void *sess_private_data;
520  uint64_t opaque_data;
522 };
523 
535 struct rte_security_session *
537  struct rte_security_session_conf *conf,
538  struct rte_mempool *mp,
539  struct rte_mempool *priv_mp);
540 
551 __rte_experimental
552 int
554  struct rte_security_session *sess,
555  struct rte_security_session_conf *conf);
556 
566 unsigned int
568 
583 int
585  struct rte_security_session *sess);
586 
588 typedef uint64_t rte_security_dynfield_t;
591 
605 __rte_experimental
606 static inline rte_security_dynfield_t *
608 {
609  return RTE_MBUF_DYNFIELD(mbuf,
612 }
613 
622 __rte_experimental
623 static inline bool rte_security_dynfield_is_registered(void)
624 {
625  return rte_security_dynfield_offset >= 0;
626 }
627 
629 __rte_experimental
630 extern int __rte_security_set_pkt_metadata(struct rte_security_ctx *instance,
631  struct rte_security_session *sess,
632  struct rte_mbuf *m, void *params);
633 
647 static inline int
649  struct rte_security_session *sess,
650  struct rte_mbuf *mb, void *params)
651 {
652  /* Fast Path */
653  if (instance->flags & RTE_SEC_CTX_F_FAST_SET_MDATA) {
654  *rte_security_dynfield(mb) =
655  (rte_security_dynfield_t)(sess->sess_private_data);
656  return 0;
657  }
658 
659  /* Jump to PMD specific function pointer */
660  return __rte_security_set_pkt_metadata(instance, sess, mb, params);
661 }
662 
664 __rte_experimental
665 extern void *__rte_security_get_userdata(struct rte_security_ctx *instance,
666  uint64_t md);
667 
685 __rte_experimental
686 static inline void *
687 rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)
688 {
689  /* Fast Path */
690  if (instance->flags & RTE_SEC_CTX_F_FAST_GET_UDATA)
691  return (void *)(uintptr_t)md;
692 
693  /* Jump to PMD specific function pointer */
694  return __rte_security_get_userdata(instance, md);
695 }
696 
703 static inline int
705  struct rte_security_session *sess)
706 {
707  sym_op->sec_session = sess;
708 
709  return 0;
710 }
711 
712 static inline void *
713 get_sec_session_private_data(const struct rte_security_session *sess)
714 {
715  return sess->sess_private_data;
716 }
717 
718 static inline void
719 set_sec_session_private_data(struct rte_security_session *sess,
720  void *private_data)
721 {
722  sess->sess_private_data = private_data;
723 }
724 
734 static inline int
736  struct rte_security_session *sess)
737 {
739  return -EINVAL;
740 
742 
743  return __rte_security_attach_session(op->sym, sess);
744 }
745 
746 struct rte_security_macsec_stats {
747  uint64_t reserved;
748 };
749 
750 struct rte_security_ipsec_stats {
751  uint64_t ipackets;
752  uint64_t opackets;
753  uint64_t ibytes;
754  uint64_t obytes;
755  uint64_t ierrors;
756  uint64_t oerrors;
757  uint64_t reserved1;
758  uint64_t reserved2;
759 };
760 
761 struct rte_security_pdcp_stats {
762  uint64_t reserved;
763 };
764 
765 struct rte_security_docsis_stats {
766  uint64_t reserved;
767 };
768 
769 struct rte_security_stats {
770  enum rte_security_session_protocol protocol;
774  union {
775  struct rte_security_macsec_stats macsec;
776  struct rte_security_ipsec_stats ipsec;
777  struct rte_security_pdcp_stats pdcp;
778  struct rte_security_docsis_stats docsis;
779  };
780 };
781 
795 __rte_experimental
796 int
798  struct rte_security_session *sess,
799  struct rte_security_stats *stats);
800 
810  union {
811  struct {
824  } ipsec;
826  struct {
827  /* To be Filled */
828  int dummy;
829  } macsec;
831  struct {
834  uint32_t capa_flags;
836  } pdcp;
838  struct {
841  } docsis;
843  };
844 
848  uint32_t ol_flags;
850 };
851 
857 #define RTE_SECURITY_PDCP_ORDERING_CAP 0x00000001
858 
863 #define RTE_SECURITY_PDCP_DUP_DETECT_CAP 0x00000002
864 
865 #define RTE_SECURITY_TX_OLOAD_NEED_MDATA 0x00000001
866 
869 #define RTE_SECURITY_TX_HW_TRAILER_OFFLOAD 0x00000002
870 
875 #define RTE_SECURITY_RX_HW_TRAILER_OFFLOAD 0x00010000
876 
888  enum rte_security_session_protocol protocol;
889 
891  union {
892  struct {
894  enum rte_security_ipsec_sa_mode mode;
895  enum rte_security_ipsec_sa_direction direction;
896  } ipsec;
897  struct {
898  enum rte_security_pdcp_domain domain;
899  uint32_t capa_flags;
900  } pdcp;
901  struct {
902  enum rte_security_docsis_direction direction;
903  } docsis;
904  };
905 };
906 
916 const struct rte_security_capability *
918 
930 const struct rte_security_capability *
932  struct rte_security_capability_idx *idx);
933 
934 #ifdef __cplusplus
935 }
936 #endif
937 
938 #endif /* _RTE_SECURITY_H_ */
rte_security_pdcp_direction
rte_security_pdcp_direction
Definition: rte_security.h:365
rte_security_ctx::device
void * device
Definition: rte_security.h:73
rte_security_ipsec_sa_options::iv_gen_disable
uint32_t iv_gen_disable
Definition: rte_security.h:218
RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO
@ RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO
Definition: rte_security.h:472
rte_security_ipsec_tunnel_param::hlimit
uint8_t hlimit
Definition: rte_security.h:124
rte_security_pdcp_xform::sdap_enabled
uint8_t sdap_enabled
Definition: rte_security.h:426
RTE_SECURITY_IPSEC_SA_DIR_INGRESS
@ RTE_SECURITY_IPSEC_SA_DIR_INGRESS
Definition: rte_security.h:281
rte_security_set_pkt_metadata
static int rte_security_set_pkt_metadata(struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_mbuf *mb, void *params)
Definition: rte_security.h:648
RTE_CRYPTO_OP_SECURITY_SESSION
@ RTE_CRYPTO_OP_SECURITY_SESSION
Definition: rte_crypto.h:65
RTE_SECURITY_DOCSIS_DOWNLINK
@ RTE_SECURITY_DOCSIS_DOWNLINK
Definition: rte_security.h:437
rte_security_get_userdata
static __rte_experimental void * rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)
Definition: rte_security.h:687
rte_security_capability
Definition: rte_security.h:804
rte_security_session_protocol
rte_security_session_protocol
Definition: rte_security.h:481
rte_security_capability::replay_win_sz_max
uint32_t replay_win_sz_max
Definition: rte_security.h:820
rte_security_ipsec_sa_options::stats
uint32_t stats
Definition: rte_security.h:204
rte_security_ipsec_xform::udp
struct rte_security_ipsec_udp_param udp
Definition: rte_security.h:343
rte_security_capabilities_get
const struct rte_security_capability * rte_security_capabilities_get(struct rte_security_ctx *instance)
rte_security_ipsec_sa_options::copy_dscp
uint32_t copy_dscp
Definition: rte_security.h:162
rte_security_pdcp_xform::bearer
int8_t bearer
Definition: rte_security.h:390
rte_security_pdcp_xform::hfn
uint32_t hfn
Definition: rte_security.h:409
RTE_SECURITY_PROTOCOL_PDCP
@ RTE_SECURITY_PROTOCOL_PDCP
Definition: rte_security.h:486
rte_memory.h
rte_security_macsec_xform::dummy
int dummy
Definition: rte_security.h:352
rte_security_capability::ol_flags
uint32_t ol_flags
Definition: rte_security.h:848
rte_security_capability::ipsec
struct rte_security_capability::@375::@377 ipsec
rte_security_session_action_type
rte_security_session_action_type
Definition: rte_security.h:457
rte_security_ipsec_xform::life
struct rte_security_ipsec_lifetime life
Definition: rte_security.h:329
rte_cryptodev_capabilities
Definition: rte_cryptodev.h:194
rte_security_ipsec_sa_options::dec_ttl
uint32_t dec_ttl
Definition: rte_security.h:187
RTE_SECURITY_IPSEC_SA_DIR_EGRESS
@ RTE_SECURITY_IPSEC_SA_DIR_EGRESS
Definition: rte_security.h:279
unlikely
#define unlikely(x)
Definition: rte_branch_prediction.h:42
RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL
@ RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL
Definition: rte_security.h:464
rte_security_ipsec_tunnel_param::src_addr
struct in6_addr src_addr
Definition: rte_security.h:116
rte_crypto.h
RTE_SECURITY_PDCP_MODE_SHORT_MAC
@ RTE_SECURITY_PDCP_MODE_SHORT_MAC
Definition: rte_security.h:361
rte_security_macsec_xform
Definition: rte_security.h:350
RTE_SECURITY_PDCP_SN_SIZE_12
@ RTE_SECURITY_PDCP_SN_SIZE_12
Definition: rte_security.h:377
rte_security_ipsec_sa_direction
rte_security_ipsec_sa_direction
Definition: rte_security.h:278
rte_security_pdcp_sn_size
rte_security_pdcp_sn_size
Definition: rte_security.h:371
rte_security_pdcp_xform::pkt_dir
enum rte_security_pdcp_direction pkt_dir
Definition: rte_security.h:403
rte_security_ipsec_tunnel_param
Definition: rte_security.h:97
rte_security_ipsec_sa_options
Definition: rte_security.h:139
__rte_security_get_userdata
__rte_experimental void * __rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)
RTE_SECURITY_PDCP_MODE_CONTROL
@ RTE_SECURITY_PDCP_MODE_CONTROL
Definition: rte_security.h:359
rte_security_ipsec_sa_options::tunnel_hdr_verify
uint32_t tunnel_hdr_verify
Definition: rte_security.h:227
rte_security_ipsec_xform::mode
enum rte_security_ipsec_sa_mode mode
Definition: rte_security.h:325
rte_security_ctx
Definition: rte_security.h:72
RTE_SECURITY_IPSEC_SA_MODE_TUNNEL
@ RTE_SECURITY_IPSEC_SA_MODE_TUNNEL
Definition: rte_security.h:35
rte_security_ipsec_tunnel_param::ipv4
struct rte_security_ipsec_tunnel_param::@364::@366 ipv4
rte_security_session_destroy
int rte_security_session_destroy(struct rte_security_ctx *instance, struct rte_security_session *sess)
rte_security_session_update
__rte_experimental int rte_security_session_update(struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_security_session_conf *conf)
RTE_SECURITY_IPSEC_SA_PROTO_AH
@ RTE_SECURITY_IPSEC_SA_PROTO_AH
Definition: rte_security.h:41
rte_security_dynfield
static __rte_experimental rte_security_dynfield_t * rte_security_dynfield(struct rte_mbuf *mbuf)
Definition: rte_security.h:607
rte_security_session_conf::crypto_xform
struct rte_crypto_sym_xform * crypto_xform
Definition: rte_security.h:510
rte_security_ipsec_lifetime::packets_soft_limit
uint64_t packets_soft_limit
Definition: rte_security.h:299
rte_security_ipsec_tunnel_param::ttl
uint8_t ttl
Definition: rte_security.h:111
rte_mbuf
Definition: rte_mbuf_core.h:578
RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO
@ RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO
Definition: rte_security.h:460
rte_security_pdcp_xform::en_ordering
uint8_t en_ordering
Definition: rte_security.h:394
RTE_SEC_CTX_F_FAST_SET_MDATA
#define RTE_SEC_CTX_F_FAST_SET_MDATA
Definition: rte_security.h:83
rte_security_session_conf::userdata
void * userdata
Definition: rte_security.h:512
rte_security_ipsec_xform::esn
union rte_security_ipsec_xform::@368 esn
rte_security_ipsec_sa_mode
rte_security_ipsec_sa_mode
Definition: rte_security.h:32
rte_security_ipsec_xform::spi
uint32_t spi
Definition: rte_security.h:315
rte_security_pdcp_xform::hfn_ovrd
uint8_t hfn_ovrd
Definition: rte_security.h:420
rte_crypto_op
Definition: rte_crypto.h:83
rte_security_dynfield_offset
int rte_security_dynfield_offset
rte_security_ipsec_sa_options::copy_df
uint32_t copy_df
Definition: rte_security.h:178
RTE_SECURITY_DOCSIS_UPLINK
@ RTE_SECURITY_DOCSIS_UPLINK
Definition: rte_security.h:433
rte_mbuf_dyn.h
rte_security_ipsec_tunnel_type
rte_security_ipsec_tunnel_type
Definition: rte_security.h:48
RTE_SECURITY_IPSEC_TUNNEL_IPV4
@ RTE_SECURITY_IPSEC_TUNNEL_IPV4
Definition: rte_security.h:49
rte_security_ipsec_sa_options::udp_encap
uint32_t udp_encap
Definition: rte_security.h:153
rte_security_capability::capa_flags
uint32_t capa_flags
Definition: rte_security.h:834
rte_security_ipsec_tunnel_param::src_ip
struct in_addr src_ip
Definition: rte_security.h:103
rte_security_ipsec_xform::salt
uint32_t salt
Definition: rte_security.h:317
rte_security_session_create
struct rte_security_session * rte_security_session_create(struct rte_security_ctx *instance, struct rte_security_session_conf *conf, struct rte_mempool *mp, struct rte_mempool *priv_mp)
rte_security_session_conf::action_type
enum rte_security_session_action_type action_type
Definition: rte_security.h:498
rte_security_capability::crypto_capabilities
const struct rte_cryptodev_capabilities * crypto_capabilities
Definition: rte_security.h:845
rte_security_pdcp_xform::sn_size
enum rte_security_pdcp_sn_size sn_size
Definition: rte_security.h:405
rte_security_capability::action
enum rte_security_session_action_type action
Definition: rte_security.h:805
rte_security_ipsec_lifetime
Definition: rte_security.h:298
rte_security_ipsec_lifetime::bytes_soft_limit
uint64_t bytes_soft_limit
Definition: rte_security.h:301
__rte_security_attach_session
static int __rte_security_attach_session(struct rte_crypto_sym_op *sym_op, struct rte_security_session *sess)
Definition: rte_security.h:704
rte_ip.h
rte_security_ipsec_lifetime::packets_hard_limit
uint64_t packets_hard_limit
Definition: rte_security.h:303
rte_crypto_op::sym
struct rte_crypto_sym_op sym[0]
Definition: rte_crypto.h:135
rte_security_ipsec_sa_options::copy_flabel
uint32_t copy_flabel
Definition: rte_security.h:170
rte_security_ops
Definition: rte_security_driver.h:140
rte_security_ctx::sess_cnt
uint16_t sess_cnt
Definition: rte_security.h:77
rte_security_capability::options
struct rte_security_ipsec_sa_options options
Definition: rte_security.h:818
rte_security_capability_idx
Definition: rte_security.h:886
RTE_SECURITY_PDCP_UPLINK
@ RTE_SECURITY_PDCP_UPLINK
Definition: rte_security.h:366
rte_security_ipsec_sa_options::ecn
uint32_t ecn
Definition: rte_security.h:196
RTE_SECURITY_PDCP_SN_SIZE_18
@ RTE_SECURITY_PDCP_SN_SIZE_18
Definition: rte_security.h:381
rte_security_pdcp_xform::reserved
uint16_t reserved
Definition: rte_security.h:428
rte_crypto_sym_op::sec_session
struct rte_security_session * sec_session
Definition: rte_crypto_sym.h:625
rte_security_session_stats_get
__rte_experimental int rte_security_session_stats_get(struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_security_stats *stats)
rte_security_ctx::flags
uint32_t flags
Definition: rte_security.h:79
rte_security_ipsec_lifetime::bytes_hard_limit
uint64_t bytes_hard_limit
Definition: rte_security.h:305
RTE_SECURITY_PDCP_DOWNLINK
@ RTE_SECURITY_PDCP_DOWNLINK
Definition: rte_security.h:367
rte_security_ipsec_sa_options::esn
uint32_t esn
Definition: rte_security.h:145
rte_common.h
rte_security_ipsec_tunnel_param::dscp
uint8_t dscp
Definition: rte_security.h:107
RTE_SECURITY_PROTOCOL_MACSEC
@ RTE_SECURITY_PROTOCOL_MACSEC
Definition: rte_security.h:484
RTE_SECURITY_PDCP_SN_SIZE_15
@ RTE_SECURITY_PDCP_SN_SIZE_15
Definition: rte_security.h:379
rte_security_capability::pdcp
struct rte_security_capability::@375::@379 pdcp
rte_security_session_conf::protocol
enum rte_security_session_protocol protocol
Definition: rte_security.h:500
rte_security_capability::mode
enum rte_security_ipsec_sa_mode mode
Definition: rte_security.h:814
rte_security_docsis_direction
rte_security_docsis_direction
Definition: rte_security.h:432
rte_security_ipsec_tunnel_param::type
enum rte_security_ipsec_tunnel_type type
Definition: rte_security.h:98
RTE_SECURITY_IPSEC_TUNNEL_IPV6
@ RTE_SECURITY_IPSEC_TUNNEL_IPV6
Definition: rte_security.h:51
rte_security_ipsec_xform::direction
enum rte_security_ipsec_sa_direction direction
Definition: rte_security.h:321
rte_security_dynfield_is_registered
static __rte_experimental bool rte_security_dynfield_is_registered(void)
Definition: rte_security.h:623
rte_crypto_sym_xform
Definition: rte_crypto_sym.h:567
rte_mempool
Definition: rte_mempool.h:212
rte_security_docsis_xform
Definition: rte_security.h:448
rte_security_capability::domain
enum rte_security_pdcp_domain domain
Definition: rte_security.h:832
rte_security_pdcp_xform
Definition: rte_security.h:389
rte_security_ipsec_xform::options
struct rte_security_ipsec_sa_options options
Definition: rte_security.h:319
RTE_CRYPTO_OP_TYPE_SYMMETRIC
@ RTE_CRYPTO_OP_TYPE_SYMMETRIC
Definition: rte_crypto.h:32
rte_security_ipsec_xform::replay_win_sz
uint32_t replay_win_sz
Definition: rte_security.h:331
RTE_STD_C11
#define RTE_STD_C11
Definition: rte_common.h:42
RTE_SECURITY_PDCP_SN_SIZE_5
@ RTE_SECURITY_PDCP_SN_SIZE_5
Definition: rte_security.h:373
rte_security_ipsec_sa_options::reserved_opts
uint32_t reserved_opts
Definition: rte_security.h:274
rte_security_docsis_xform::direction
enum rte_security_docsis_direction direction
Definition: rte_security.h:449
rte_security_capability::protocol
enum rte_security_session_protocol protocol
Definition: rte_security.h:807
rte_mempool.h
RTE_SECURITY_PROTOCOL_IPSEC
@ RTE_SECURITY_PROTOCOL_IPSEC
Definition: rte_security.h:482
rte_security_ipsec_tunnel_param::ipv6
struct rte_security_ipsec_tunnel_param::@364::@367 ipv6
rte_crypto_op::sess_type
uint8_t sess_type
Definition: rte_crypto.h:99
rte_security_ipsec_tunnel_param::flabel
uint32_t flabel
Definition: rte_security.h:122
RTE_SECURITY_IPSEC_SA_PROTO_ESP
@ RTE_SECURITY_IPSEC_SA_PROTO_ESP
Definition: rte_security.h:43
RTE_MBUF_DYNFIELD
#define RTE_MBUF_DYNFIELD(m, offset, type)
Definition: rte_mbuf_dyn.h:229
rte_security_ipsec_sa_options::l4_csum_enable
uint32_t l4_csum_enable
Definition: rte_security.h:265
rte_security_pdcp_xform::domain
enum rte_security_pdcp_domain domain
Definition: rte_security.h:401
rte_mbuf.h
RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL
@ RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL
Definition: rte_security.h:468
RTE_SECURITY_PDCP_MODE_DATA
@ RTE_SECURITY_PDCP_MODE_DATA
Definition: rte_security.h:360
rte_security_ipsec_sa_options::ip_csum_enable
uint32_t ip_csum_enable
Definition: rte_security.h:249
rte_security_ctx::ops
const struct rte_security_ops * ops
Definition: rte_security.h:75
rte_security_ipsec_xform::proto
enum rte_security_ipsec_sa_protocol proto
Definition: rte_security.h:323
rte_security_ipsec_tunnel_param::dst_addr
struct in6_addr dst_addr
Definition: rte_security.h:118
rte_security_dynfield_t
uint64_t rte_security_dynfield_t
Definition: rte_security.h:588
rte_security_ipsec_xform::tunnel
struct rte_security_ipsec_tunnel_param tunnel
Definition: rte_security.h:327
rte_crypto_op::type
uint8_t type
Definition: rte_crypto.h:89
rte_security_session_conf
Definition: rte_security.h:497
RTE_SEC_CTX_F_FAST_GET_UDATA
#define RTE_SEC_CTX_F_FAST_GET_UDATA
Definition: rte_security.h:86
RTE_SECURITY_PDCP_SN_SIZE_7
@ RTE_SECURITY_PDCP_SN_SIZE_7
Definition: rte_security.h:375
rte_security_ipsec_sa_options::udp_ports_verify
uint32_t udp_ports_verify
Definition: rte_security.h:234
RTE_SECURITY_PROTOCOL_DOCSIS
@ RTE_SECURITY_PROTOCOL_DOCSIS
Definition: rte_security.h:488
rte_security_capability::direction
enum rte_security_ipsec_sa_direction direction
Definition: rte_security.h:816
rte_security_pdcp_xform::hfn_threshold
uint32_t hfn_threshold
Definition: rte_security.h:411
rte_security_pdcp_xform::remove_duplicates
uint8_t remove_duplicates
Definition: rte_security.h:399
rte_security_capability::proto
enum rte_security_ipsec_sa_protocol proto
Definition: rte_security.h:812
rte_security_ipsec_sa_protocol
rte_security_ipsec_sa_protocol
Definition: rte_security.h:40
rte_security_pdcp_domain
rte_security_pdcp_domain
Definition: rte_security.h:358
rte_security_ipsec_tunnel_param::df
uint8_t df
Definition: rte_security.h:109
rte_crypto_sym_op
Definition: rte_crypto_sym.h:615
rte_security_capability_get
const struct rte_security_capability * rte_security_capability_get(struct rte_security_ctx *instance, struct rte_security_capability_idx *idx)
rte_security_capability::docsis
struct rte_security_capability::@375::@380 docsis
rte_security_session_get_size
unsigned int rte_security_session_get_size(struct rte_security_ctx *instance)
rte_security_ipsec_xform
Definition: rte_security.h:314
RTE_SECURITY_ACTION_TYPE_NONE
@ RTE_SECURITY_ACTION_TYPE_NONE
Definition: rte_security.h:458
RTE_SECURITY_IPSEC_SA_MODE_TRANSPORT
@ RTE_SECURITY_IPSEC_SA_MODE_TRANSPORT
Definition: rte_security.h:33
rte_security_attach_session
static int rte_security_attach_session(struct rte_crypto_op *op, struct rte_security_session *sess)
Definition: rte_security.h:735
rte_security_ipsec_tunnel_param::dst_ip
struct in_addr dst_ip
Definition: rte_security.h:105
rte_security_capability::macsec
struct rte_security_capability::@375::@378 macsec
__rte_security_set_pkt_metadata
__rte_experimental int __rte_security_set_pkt_metadata(struct rte_security_ctx *instance, struct rte_security_session *sess, struct rte_mbuf *m, void *params)