DPDK  18.11.6
rte_table_action.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Intel Corporation
3  */
4 
5 #ifndef __INCLUDE_RTE_TABLE_ACTION_H__
6 #define __INCLUDE_RTE_TABLE_ACTION_H__
7 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 #include <stdint.h>
60 
61 #include <rte_compat.h>
62 #include <rte_ether.h>
63 #include <rte_meter.h>
64 #include <rte_table_hash.h>
65 
66 #include "rte_pipeline.h"
67 
72 
75 
78 
81 
84 
87 
90 
93 
96 
99 
102 
105 };
106 
113 
117  uint32_t ip_offset;
118 };
119 
127 
129  uint32_t id;
130 };
131 
136 #define RTE_TABLE_ACTION_LB_KEY_SIZE_MIN 8
137 
139 #define RTE_TABLE_ACTION_LB_KEY_SIZE_MAX 64
140 
142 #define RTE_TABLE_ACTION_LB_TABLE_SIZE 8
143 
147  uint32_t key_size;
148 
152  uint32_t key_offset;
153 
156 
159 
161  uint64_t seed;
162 
166  uint32_t out_offset;
167 };
168 
178 };
179 
184 #define RTE_TABLE_ACTION_TC_MAX 4
185 
187 #define RTE_TABLE_ACTION_TC_QUEUE_MAX 4
188 
195  uint32_t tc_id;
196 
200  uint32_t tc_queue_id;
201 
206 };
207 
212 };
213 
218 
221 };
222 
227 
229  union {
232 
235  };
236 };
237 
242 
245 
248 
251 
254 };
255 
260 
263 };
264 
272 
278 
281 
284 };
285 
290 
295  uint32_t n_tc;
296 
303 
310 };
311 
318 
323  uint32_t tc_mask;
324 };
325 
330 
335  uint32_t tc_mask;
336 };
337 
345 
348 };
349 
353  uint32_t subport_id;
354 
356  uint32_t pipe_id;
357 };
358 
366 
369 
372 
375 
378 
383 };
384 
387  struct ether_addr da;
388  struct ether_addr sa;
389 };
390 
393  uint8_t pcp;
394  uint8_t dei;
395  uint16_t vid;
396 };
397 
400  uint32_t label;
401  uint8_t tc;
402  uint8_t ttl;
403 };
404 
407  uint16_t session_id;
408 };
409 
412  uint32_t sa;
413  uint32_t da;
414  uint8_t dscp;
415  uint8_t ttl;
416 };
417 
420  uint8_t sa[16];
421  uint8_t da[16];
422  uint32_t flow_label;
423  uint8_t dscp;
424  uint8_t hop_limit;
425 };
426 
429  uint16_t sp;
430  uint16_t dp;
431 };
432 
435  uint32_t vni;
436 };
437 
441 };
442 
447 };
448 
454 };
455 
457 #ifndef RTE_TABLE_ACTION_MPLS_LABELS_MAX
458 #define RTE_TABLE_ACTION_MPLS_LABELS_MAX 4
459 #endif
460 
465 
468 
470  uint32_t mpls_count;
471 
473  int unicast;
474 };
475 
480 };
481 
488  union {
491  };
492 
495 };
496 
505  uint64_t encap_mask;
506 
509  union {
510  struct {
516  uint32_t data_offset;
517 
521  int vlan;
522 
528  } vxlan;
529  };
530 };
531 
536 
538  union {
541 
544 
547 
550 
553 
556  };
557 };
558 
569 
574  uint8_t proto;
575 };
576 
581 
583  union {
585  uint32_t ipv4;
586 
588  uint8_t ipv6[16];
589  } addr;
590 
592  uint16_t port;
593 };
594 
606  int drop;
607 
614 };
615 
623 };
624 
630  uint64_t n_packets;
631 };
632 
644 
651 };
652 
659  uint64_t n_packets;
660 
665  uint64_t n_bytes;
666 };
667 
671  uint64_t n_packets;
672 
674  uint64_t n_bytes;
675 
678 
681 };
682 
689  uint64_t time;
690 };
691 
695 #ifndef RTE_TABLE_ACTION_SYM_CRYPTO_IV_SIZE_MAX
696 #define RTE_TABLE_ACTION_SYM_CRYPTO_IV_SIZE_MAX (16)
697 #endif
698 
699 #ifndef RTE_TABLE_ACTION_SYM_CRYPTO_AAD_SIZE_MAX
700 #define RTE_TABLE_ACTION_SYM_CRYPTO_AAD_SIZE_MAX (16)
701 #endif
702 
703 #ifndef RTE_TABLE_ACTION_SYM_CRYPTO_IV_OFFSET
704 #define RTE_TABLE_ACTION_SYM_CRYPTO_IV_OFFSET \
705  (sizeof(struct rte_crypto_op) + sizeof(struct rte_crypto_sym_op))
706 #endif
707 
710  uint8_t *val;
711  uint32_t length;
712  uint32_t offset;
713 };
714 
718  uint8_t cryptodev_id;
719 
724  uint32_t op_offset;
725 
728 
731 };
732 
735 
738 
744  uint32_t data_offset;
745 
746  union {
747  struct {
750 
753 
756 
759 
760  } cipher_auth;
761 
762  struct {
765 
768 
771 
774 
775  } aead;
776  };
777 };
778 
785  uint32_t tag;
786 };
787 
794  uint16_t n;
795 };
796 
800 struct rte_table_action_profile;
801 
810 struct rte_table_action_profile * __rte_experimental
812 
821 int __rte_experimental
822 rte_table_action_profile_free(struct rte_table_action_profile *profile);
823 
839 int __rte_experimental
840 rte_table_action_profile_action_register(struct rte_table_action_profile *profile,
841  enum rte_table_action_type type,
842  void *action_config);
843 
859 int __rte_experimental
860 rte_table_action_profile_freeze(struct rte_table_action_profile *profile);
861 
865 struct rte_table_action;
866 
882 struct rte_table_action * __rte_experimental
883 rte_table_action_create(struct rte_table_action_profile *profile,
884  uint32_t socket_id);
885 
894 int __rte_experimental
895 rte_table_action_free(struct rte_table_action *action);
896 
907 int __rte_experimental
908 rte_table_action_table_params_get(struct rte_table_action *action,
909  struct rte_pipeline_table_params *params);
910 
929 int __rte_experimental
930 rte_table_action_apply(struct rte_table_action *action,
931  void *data,
932  enum rte_table_action_type type,
933  void *action_params);
934 
948 int __rte_experimental
949 rte_table_action_dscp_table_update(struct rte_table_action *action,
950  uint64_t dscp_mask,
951  struct rte_table_action_dscp_table *table);
952 
967 int __rte_experimental
968 rte_table_action_meter_profile_add(struct rte_table_action *action,
969  uint32_t meter_profile_id,
970  struct rte_table_action_meter_profile *profile);
971 
983 int __rte_experimental
984 rte_table_action_meter_profile_delete(struct rte_table_action *action,
985  uint32_t meter_profile_id);
986 
1014 int __rte_experimental
1015 rte_table_action_meter_read(struct rte_table_action *action,
1016  void *data,
1017  uint32_t tc_mask,
1018  struct rte_table_action_mtr_counters *stats,
1019  int clear);
1020 
1040 int __rte_experimental
1041 rte_table_action_ttl_read(struct rte_table_action *action,
1042  void *data,
1043  struct rte_table_action_ttl_counters *stats,
1044  int clear);
1045 
1065 int __rte_experimental
1066 rte_table_action_stats_read(struct rte_table_action *action,
1067  void *data,
1068  struct rte_table_action_stats_counters *stats,
1069  int clear);
1070 
1085 int __rte_experimental
1086 rte_table_action_time_read(struct rte_table_action *action,
1087  void *data,
1088  uint64_t *timestamp);
1089 
1100 struct rte_cryptodev_sym_session *__rte_experimental
1101 rte_table_action_crypto_sym_session_get(struct rte_table_action *action,
1102  void *data);
1103 
1104 #ifdef __cplusplus
1105 }
1106 #endif
1107 
1108 #endif /* __INCLUDE_RTE_TABLE_ACTION_H__ */
rte_table_action_meter_profile::alg
enum rte_table_action_meter_algorithm alg
Definition: rte_table_action.h:226
RTE_TABLE_ACTION_ENCAP_MPLS
@ RTE_TABLE_ACTION_ENCAP_MPLS
Definition: rte_table_action.h:374
rte_table_action_ether_hdr
Definition: rte_table_action.h:386
RTE_TABLE_ACTION_ENCAP_VXLAN
@ RTE_TABLE_ACTION_ENCAP_VXLAN
Definition: rte_table_action.h:382
rte_table_action_stats_counters::n_packets_valid
int n_packets_valid
Definition: rte_table_action.h:677
rte_table_action_nat_params::port
uint16_t port
Definition: rte_table_action.h:592
rte_table_action_sym_crypto_config::mp_init
struct rte_mempool * mp_init
Definition: rte_table_action.h:730
rte_table_action_udp_header::sp
uint16_t sp
Definition: rte_table_action.h:429
rte_table_action_nat_params::ipv6
uint8_t ipv6[16]
Definition: rte_table_action.h:588
rte_table_action_mtr_config::n_packets_enabled
int n_packets_enabled
Definition: rte_table_action.h:302
rte_table_action_dscp_table
Definition: rte_table_action.h:209
rte_table_action_mtr_config::n_tc
uint32_t n_tc
Definition: rte_table_action.h:295
rte_table_action_nat_params::ip_version
int ip_version
Definition: rte_table_action.h:580
RTE_TABLE_ACTION_POLICER_COLOR_RED
@ RTE_TABLE_ACTION_POLICER_COLOR_RED
Definition: rte_table_action.h:247
rte_table_action_encap_pppoe_params::pppoe
struct rte_table_action_pppoe_hdr pppoe
Definition: rte_table_action.h:479
rte_table_action_ipv6_header::sa
uint8_t sa[16]
Definition: rte_table_action.h:420
rte_meter.h
rte_table_action_vlan_hdr::vid
uint16_t vid
Definition: rte_table_action.h:395
rte_table_action_vxlan_hdr::vni
uint32_t vni
Definition: rte_table_action.h:435
rte_table_action_sym_crypto_config::cryptodev_id
uint8_t cryptodev_id
Definition: rte_table_action.h:718
rte_table_action_mtr_counters_tc
Definition: rte_table_action.h:266
RTE_TABLE_ACTION_LB
@ RTE_TABLE_ACTION_LB
Definition: rte_table_action.h:74
rte_table_action_mtr_tc_params::policer
enum rte_table_action_policer policer[e_RTE_METER_COLORS]
Definition: rte_table_action.h:262
rte_table_action_udp_header::dp
uint16_t dp
Definition: rte_table_action.h:430
rte_table_action_ipv4_header::ttl
uint8_t ttl
Definition: rte_table_action.h:415
rte_table_action_mpls_hdr::ttl
uint8_t ttl
Definition: rte_table_action.h:402
rte_table_action_encap_vxlan_params::vlan
struct rte_table_action_vlan_hdr vlan
Definition: rte_table_action.h:485
rte_table_action_mtr_counters_tc::n_bytes_valid
int n_bytes_valid
Definition: rte_table_action.h:283
rte_table_action_mpls_hdr::label
uint32_t label
Definition: rte_table_action.h:400
rte_table_action_stats_counters
Definition: rte_table_action.h:669
rte_table_action_nat_params::ipv4
uint32_t ipv4
Definition: rte_table_action.h:585
rte_table_action_crypto_sym_session_get
struct rte_cryptodev_sym_session *__rte_experimental rte_table_action_crypto_sym_session_get(struct rte_table_action *action, void *data)
rte_table_action_common_config
Definition: rte_table_action.h:108
rte_table_action_sym_crypto_params::data_offset
uint32_t data_offset
Definition: rte_table_action.h:744
rte_table_action_vlan_hdr::dei
uint8_t dei
Definition: rte_table_action.h:394
rte_table_action_encap_params::pppoe
struct rte_table_action_encap_pppoe_params pppoe
Definition: rte_table_action.h:552
rte_table_action_encap_params::mpls
struct rte_table_action_encap_mpls_params mpls
Definition: rte_table_action.h:549
rte_table_action_dscp_table::entry
struct rte_table_action_dscp_table_entry entry[64]
Definition: rte_table_action.h:211
rte_table_action_common_config::ip_version
int ip_version
Definition: rte_table_action.h:112
rte_table_action_sym_crypto_params::cipher_iv
struct rte_table_action_vlo cipher_iv
Definition: rte_table_action.h:749
RTE_TABLE_ACTION_ENCAP_PPPOE
@ RTE_TABLE_ACTION_ENCAP_PPPOE
Definition: rte_table_action.h:377
rte_table_action_meter_algorithm
rte_table_action_meter_algorithm
Definition: rte_table_action.h:215
rte_table_action_encap_vlan_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:445
rte_table_action_ttl_read
int __rte_experimental rte_table_action_ttl_read(struct rte_table_action *action, void *data, struct rte_table_action_ttl_counters *stats, int clear)
rte_table_action_encap_vxlan_params::udp
struct rte_table_action_udp_header udp
Definition: rte_table_action.h:493
rte_table_action_time_read
int __rte_experimental rte_table_action_time_read(struct rte_table_action *action, void *data, uint64_t *timestamp)
rte_table_action_profile_action_register
int __rte_experimental rte_table_action_profile_action_register(struct rte_table_action_profile *profile, enum rte_table_action_type type, void *action_config)
rte_table_action_sym_crypto_params::cipher_iv_update
struct rte_table_action_vlo cipher_iv_update
Definition: rte_table_action.h:752
rte_table_action_encap_vxlan_params
Definition: rte_table_action.h:483
rte_table_action_encap_pppoe_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:478
rte_table_action_fwd_params::action
enum rte_pipeline_action action
Definition: rte_table_action.h:126
rte_table_action_encap_pppoe_params
Definition: rte_table_action.h:477
rte_table_action_policer
rte_table_action_policer
Definition: rte_table_action.h:239
rte_meter_color
rte_meter_color
Definition: rte_meter.h:30
rte_table_action_apply
int __rte_experimental rte_table_action_apply(struct rte_table_action *action, void *data, enum rte_table_action_type type, void *action_params)
rte_table_action_stats_counters::n_bytes_valid
int n_bytes_valid
Definition: rte_table_action.h:680
rte_table_action_sym_crypto_params::xform
struct rte_crypto_sym_xform * xform
Definition: rte_table_action.h:737
rte_table_action_lb_config::seed
uint64_t seed
Definition: rte_table_action.h:161
rte_pipeline_table_params
Definition: rte_pipeline.h:306
rte_table_action_encap_qinq_params
Definition: rte_table_action.h:450
rte_table_action_ipv6_header::flow_label
uint32_t flow_label
Definition: rte_table_action.h:422
rte_table_action_dscp_table_entry::tc_queue_id
uint32_t tc_queue_id
Definition: rte_table_action.h:200
rte_table_action_sym_crypto_config
Definition: rte_table_action.h:716
rte_table_action_tm_params::subport_id
uint32_t subport_id
Definition: rte_table_action.h:353
rte_table_action_stats_read
int __rte_experimental rte_table_action_stats_read(struct rte_table_action *action, void *data, struct rte_table_action_stats_counters *stats, int clear)
RTE_TABLE_ACTION_DECAP
@ RTE_TABLE_ACTION_DECAP
Definition: rte_table_action.h:104
rte_table_action_lb_config::key_mask
uint8_t key_mask[RTE_TABLE_ACTION_LB_KEY_SIZE_MAX]
Definition: rte_table_action.h:155
rte_table_action_lb_params::out
uint32_t out[RTE_TABLE_ACTION_LB_TABLE_SIZE]
Definition: rte_table_action.h:177
rte_table_action_mtr_tc_params::meter_profile_id
uint32_t meter_profile_id
Definition: rte_table_action.h:259
rte_table_action_encap_vxlan_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:484
RTE_TABLE_ACTION_POLICER_COLOR_GREEN
@ RTE_TABLE_ACTION_POLICER_COLOR_GREEN
Definition: rte_table_action.h:241
rte_ether.h
rte_table_action_ether_hdr::sa
struct ether_addr sa
Definition: rte_table_action.h:388
RTE_TABLE_ACTION_TM
@ RTE_TABLE_ACTION_TM
Definition: rte_table_action.h:80
rte_table_action_encap_params
Definition: rte_table_action.h:533
RTE_TABLE_ACTION_TC_MAX
#define RTE_TABLE_ACTION_TC_MAX
Definition: rte_table_action.h:184
ether_addr
Definition: rte_ether.h:57
RTE_TABLE_ACTION_STATS
@ RTE_TABLE_ACTION_STATS
Definition: rte_table_action.h:92
rte_table_action_stats_config::n_packets_enabled
int n_packets_enabled
Definition: rte_table_action.h:643
RTE_TABLE_ACTION_TAG
@ RTE_TABLE_ACTION_TAG
Definition: rte_table_action.h:101
RTE_TABLE_ACTION_TIME
@ RTE_TABLE_ACTION_TIME
Definition: rte_table_action.h:95
rte_table_action_stats_counters::n_packets
uint64_t n_packets
Definition: rte_table_action.h:671
rte_table_action_sym_crypto_params::iv
struct rte_table_action_vlo iv
Definition: rte_table_action.h:767
rte_table_action_ttl_config::drop
int drop
Definition: rte_table_action.h:606
rte_table_action_decap_params
Definition: rte_table_action.h:792
rte_table_action_vlo
Definition: rte_table_action.h:709
rte_table_hash_op_hash
uint64_t(* rte_table_hash_op_hash)(void *key, void *key_mask, uint32_t key_size, uint64_t seed)
Definition: rte_table_hash.h:56
rte_table_action_encap_config
Definition: rte_table_action.h:498
rte_table_action_dscp_table_entry
Definition: rte_table_action.h:190
rte_table_action_encap_mpls_params
Definition: rte_table_action.h:462
rte_table_action_ipv6_header::dscp
uint8_t dscp
Definition: rte_table_action.h:423
RTE_TABLE_ACTION_POLICER_MAX
@ RTE_TABLE_ACTION_POLICER_MAX
Definition: rte_table_action.h:253
rte_table_action_lb_config::key_size
uint32_t key_size
Definition: rte_table_action.h:147
rte_table_action_meter_profile_add
int __rte_experimental rte_table_action_meter_profile_add(struct rte_table_action *action, uint32_t meter_profile_id, struct rte_table_action_meter_profile *profile)
rte_table_action_mtr_config
Definition: rte_table_action.h:287
RTE_TABLE_ACTION_METER_TRTCM
@ RTE_TABLE_ACTION_METER_TRTCM
Definition: rte_table_action.h:220
rte_table_action_stats_params::n_bytes
uint64_t n_bytes
Definition: rte_table_action.h:665
rte_table_action_sym_crypto_config::mp_create
struct rte_mempool * mp_create
Definition: rte_table_action.h:727
rte_table_action_stats_config::n_bytes_enabled
int n_bytes_enabled
Definition: rte_table_action.h:650
rte_table_action_encap_config::vxlan
struct rte_table_action_encap_config::@212::@214 vxlan
rte_table_action_type
rte_table_action_type
Definition: rte_table_action.h:69
rte_table_action_ttl_params::decrement
int decrement
Definition: rte_table_action.h:622
rte_table_action_ipv4_header
Definition: rte_table_action.h:411
rte_table_action_ipv6_header
Definition: rte_table_action.h:419
rte_table_action_ttl_counters::n_packets
uint64_t n_packets
Definition: rte_table_action.h:630
rte_table_action_dscp_table_update
int __rte_experimental rte_table_action_dscp_table_update(struct rte_table_action *action, uint64_t dscp_mask, struct rte_table_action_dscp_table *table)
rte_table_action_mtr_counters
Definition: rte_table_action.h:327
rte_table_action_lb_config::f_hash
rte_table_hash_op_hash f_hash
Definition: rte_table_action.h:158
rte_meter_srtcm_params
Definition: rte_meter.h:40
rte_table_action_time_params
Definition: rte_table_action.h:687
rte_table_action_fwd_params
Definition: rte_table_action.h:124
rte_table_action_ipv4_header::da
uint32_t da
Definition: rte_table_action.h:413
rte_table_action_encap_params::vxlan
struct rte_table_action_encap_vxlan_params vxlan
Definition: rte_table_action.h:555
rte_table_action_mtr_params::mtr
struct rte_table_action_mtr_tc_params mtr[RTE_TABLE_ACTION_TC_MAX]
Definition: rte_table_action.h:317
rte_table_action_ipv6_header::da
uint8_t da[16]
Definition: rte_table_action.h:421
rte_table_action_ttl_counters
Definition: rte_table_action.h:626
rte_pipeline_action
rte_pipeline_action
Definition: rte_pipeline.h:181
rte_table_action_nat_config
Definition: rte_table_action.h:563
rte_table_action_mtr_counters::tc_mask
uint32_t tc_mask
Definition: rte_table_action.h:335
rte_table_action_stats_params::n_packets
uint64_t n_packets
Definition: rte_table_action.h:659
rte_table_action_nat_config::proto
uint8_t proto
Definition: rte_table_action.h:574
RTE_TABLE_ACTION_ENCAP_QINQ
@ RTE_TABLE_ACTION_ENCAP_QINQ
Definition: rte_table_action.h:371
RTE_TABLE_ACTION_POLICER_COLOR_YELLOW
@ RTE_TABLE_ACTION_POLICER_COLOR_YELLOW
Definition: rte_table_action.h:244
rte_table_action_meter_profile_delete
int __rte_experimental rte_table_action_meter_profile_delete(struct rte_table_action *action, uint32_t meter_profile_id)
rte_table_action_tag_params::tag
uint32_t tag
Definition: rte_table_action.h:785
rte_table_action_lb_config::key_offset
uint32_t key_offset
Definition: rte_table_action.h:152
rte_table_action_lb_config
Definition: rte_table_action.h:145
rte_table_action_vxlan_hdr
Definition: rte_table_action.h:434
rte_table_action_encap_vlan_params::vlan
struct rte_table_action_vlan_hdr vlan
Definition: rte_table_action.h:446
rte_table_action_encap_vlan_params
Definition: rte_table_action.h:444
rte_table_action_tm_config::n_subports_per_port
uint32_t n_subports_per_port
Definition: rte_table_action.h:344
rte_table_action_fwd_params::id
uint32_t id
Definition: rte_table_action.h:129
rte_table_action_sym_crypto_config::op_offset
uint32_t op_offset
Definition: rte_table_action.h:724
rte_table_action_mtr_counters_tc::n_bytes
uint64_t n_bytes[e_RTE_METER_COLORS]
Definition: rte_table_action.h:277
rte_table_action_mtr_counters_tc::n_packets_valid
int n_packets_valid
Definition: rte_table_action.h:280
rte_table_action_free
int __rte_experimental rte_table_action_free(struct rte_table_action *action)
rte_table_action_ipv4_header::sa
uint32_t sa
Definition: rte_table_action.h:412
rte_table_action_encap_mpls_params::mpls
struct rte_table_action_mpls_hdr mpls[RTE_TABLE_ACTION_MPLS_LABELS_MAX]
Definition: rte_table_action.h:467
rte_table_action_dscp_table_entry::color
enum rte_meter_color color
Definition: rte_table_action.h:205
rte_table_action_sym_crypto_params::auth_iv_update
struct rte_table_action_vlo auth_iv_update
Definition: rte_table_action.h:758
e_RTE_METER_COLORS
@ e_RTE_METER_COLORS
Definition: rte_meter.h:34
rte_table_action_encap_params::vlan
struct rte_table_action_encap_vlan_params vlan
Definition: rte_table_action.h:543
rte_table_action_encap_qinq_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:451
rte_table_action_create
struct rte_table_action *__rte_experimental rte_table_action_create(struct rte_table_action_profile *profile, uint32_t socket_id)
rte_table_action_udp_header
Definition: rte_table_action.h:428
rte_table_action_sym_crypto_params::iv_update
struct rte_table_action_vlo iv_update
Definition: rte_table_action.h:773
rte_table_action_encap_type
rte_table_action_encap_type
Definition: rte_table_action.h:363
rte_crypto_sym_xform
Definition: rte_crypto_sym.h:442
rte_table_action_vlan_hdr
Definition: rte_table_action.h:392
rte_mempool
Definition: rte_mempool.h:213
rte_table_hash.h
rte_table_action_tm_params
Definition: rte_table_action.h:351
rte_table_action_pppoe_hdr::session_id
uint16_t session_id
Definition: rte_table_action.h:407
rte_table_action_meter_profile::trtcm
struct rte_meter_trtcm_params trtcm
Definition: rte_table_action.h:234
rte_table_action_tm_config
Definition: rte_table_action.h:342
rte_table_action_encap_vxlan_params::ipv6
struct rte_table_action_ipv6_header ipv6
Definition: rte_table_action.h:490
rte_table_action_common_config::ip_offset
uint32_t ip_offset
Definition: rte_table_action.h:117
RTE_STD_C11
#define RTE_STD_C11
Definition: rte_common.h:37
rte_table_action_nat_config::source_nat
int source_nat
Definition: rte_table_action.h:568
rte_table_action_encap_params::qinq
struct rte_table_action_encap_qinq_params qinq
Definition: rte_table_action.h:546
rte_table_action_ipv6_header::hop_limit
uint8_t hop_limit
Definition: rte_table_action.h:424
rte_cryptodev_sym_session
Definition: rte_cryptodev.h:956
RTE_TABLE_ACTION_LB_KEY_SIZE_MAX
#define RTE_TABLE_ACTION_LB_KEY_SIZE_MAX
Definition: rte_table_action.h:139
rte_table_action_sym_crypto_params::auth_iv
struct rte_table_action_vlo auth_iv
Definition: rte_table_action.h:755
rte_meter_trtcm_params
Definition: rte_meter.h:49
RTE_TABLE_ACTION_POLICER_DROP
@ RTE_TABLE_ACTION_POLICER_DROP
Definition: rte_table_action.h:250
rte_table_action_ether_hdr::da
struct ether_addr da
Definition: rte_table_action.h:387
rte_table_action_encap_qinq_params::svlan
struct rte_table_action_vlan_hdr svlan
Definition: rte_table_action.h:452
rte_table_action_lb_params
Definition: rte_table_action.h:170
rte_table_action_profile_freeze
int __rte_experimental rte_table_action_profile_freeze(struct rte_table_action_profile *profile)
rte_pipeline.h
rte_table_action_mtr_config::n_bytes_enabled
int n_bytes_enabled
Definition: rte_table_action.h:309
rte_table_action_time_params::time
uint64_t time
Definition: rte_table_action.h:689
rte_table_action_encap_params::ether
struct rte_table_action_encap_ether_params ether
Definition: rte_table_action.h:540
RTE_TABLE_ACTION_MTR
@ RTE_TABLE_ACTION_MTR
Definition: rte_table_action.h:77
rte_table_action_pppoe_hdr
Definition: rte_table_action.h:406
RTE_TABLE_ACTION_NAT
@ RTE_TABLE_ACTION_NAT
Definition: rte_table_action.h:86
RTE_TABLE_ACTION_ENCAP_VLAN
@ RTE_TABLE_ACTION_ENCAP_VLAN
Definition: rte_table_action.h:368
rte_table_action_mtr_config::alg
enum rte_table_action_meter_algorithm alg
Definition: rte_table_action.h:289
rte_table_action_stats_params
Definition: rte_table_action.h:654
rte_table_action_sym_crypto_params::aad_update
struct rte_table_action_vlo aad_update
Definition: rte_table_action.h:770
rte_table_action_vlan_hdr::pcp
uint8_t pcp
Definition: rte_table_action.h:393
rte_table_action_tm_params::pipe_id
uint32_t pipe_id
Definition: rte_table_action.h:356
RTE_TABLE_ACTION_ENCAP_ETHER
@ RTE_TABLE_ACTION_ENCAP_ETHER
Definition: rte_table_action.h:365
rte_table_action_encap_params::type
enum rte_table_action_encap_type type
Definition: rte_table_action.h:535
rte_table_action_encap_ether_params
Definition: rte_table_action.h:439
rte_table_action_mtr_counters_tc::n_packets
uint64_t n_packets[e_RTE_METER_COLORS]
Definition: rte_table_action.h:271
rte_table_action_encap_mpls_params::unicast
int unicast
Definition: rte_table_action.h:473
rte_table_action_lb_config::out_offset
uint32_t out_offset
Definition: rte_table_action.h:166
rte_table_action_table_params_get
int __rte_experimental rte_table_action_table_params_get(struct rte_table_action *action, struct rte_pipeline_table_params *params)
rte_table_action_tag_params
Definition: rte_table_action.h:783
rte_table_action_encap_config::ip_version
int ip_version
Definition: rte_table_action.h:527
rte_table_action_encap_mpls_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:464
rte_table_action_mpls_hdr::tc
uint8_t tc
Definition: rte_table_action.h:401
rte_table_action_encap_config::encap_mask
uint64_t encap_mask
Definition: rte_table_action.h:505
rte_table_action_encap_vxlan_params::vxlan
struct rte_table_action_vxlan_hdr vxlan
Definition: rte_table_action.h:494
rte_table_action_encap_mpls_params::mpls_count
uint32_t mpls_count
Definition: rte_table_action.h:470
rte_table_action_mtr_params
Definition: rte_table_action.h:313
RTE_TABLE_ACTION_LB_TABLE_SIZE
#define RTE_TABLE_ACTION_LB_TABLE_SIZE
Definition: rte_table_action.h:142
RTE_TABLE_ACTION_SYM_CRYPTO
@ RTE_TABLE_ACTION_SYM_CRYPTO
Definition: rte_table_action.h:98
rte_table_action_ttl_params
Definition: rte_table_action.h:617
rte_table_action_ttl_config
Definition: rte_table_action.h:599
rte_table_action_encap_qinq_params::cvlan
struct rte_table_action_vlan_hdr cvlan
Definition: rte_table_action.h:453
rte_table_action_profile_create
struct rte_table_action_profile *__rte_experimental rte_table_action_profile_create(struct rte_table_action_common_config *common)
rte_table_action_tm_config::n_pipes_per_subport
uint32_t n_pipes_per_subport
Definition: rte_table_action.h:347
rte_table_action_sym_crypto_params::aad
struct rte_table_action_vlo aad
Definition: rte_table_action.h:764
rte_table_action_profile_free
int __rte_experimental rte_table_action_profile_free(struct rte_table_action_profile *profile)
rte_table_action_sym_crypto_params
Definition: rte_table_action.h:734
rte_table_action_meter_profile::srtcm
struct rte_meter_srtcm_params srtcm
Definition: rte_table_action.h:231
rte_table_action_stats_counters::n_bytes
uint64_t n_bytes
Definition: rte_table_action.h:674
RTE_TABLE_ACTION_TTL
@ RTE_TABLE_ACTION_TTL
Definition: rte_table_action.h:89
rte_table_action_decap_params::n
uint16_t n
Definition: rte_table_action.h:794
rte_table_action_nat_params
Definition: rte_table_action.h:578
RTE_TABLE_ACTION_ENCAP
@ RTE_TABLE_ACTION_ENCAP
Definition: rte_table_action.h:83
rte_table_action_meter_read
int __rte_experimental rte_table_action_meter_read(struct rte_table_action *action, void *data, uint32_t tc_mask, struct rte_table_action_mtr_counters *stats, int clear)
rte_table_action_stats_config
Definition: rte_table_action.h:637
rte_table_action_nat_params::addr
union rte_table_action_nat_params::@217 addr
rte_table_action_mtr_tc_params
Definition: rte_table_action.h:257
rte_table_action_mpls_hdr
Definition: rte_table_action.h:399
rte_table_action_encap_ether_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:440
rte_table_action_ttl_config::n_packets_enabled
int n_packets_enabled
Definition: rte_table_action.h:613
rte_table_action_encap_config::vlan
int vlan
Definition: rte_table_action.h:521
rte_table_action_meter_profile
Definition: rte_table_action.h:224
rte_table_action_encap_vxlan_params::ipv4
struct rte_table_action_ipv4_header ipv4
Definition: rte_table_action.h:489
RTE_TABLE_ACTION_FWD
@ RTE_TABLE_ACTION_FWD
Definition: rte_table_action.h:71
rte_table_action_ipv4_header::dscp
uint8_t dscp
Definition: rte_table_action.h:414
rte_table_action_dscp_table_entry::tc_id
uint32_t tc_id
Definition: rte_table_action.h:195
rte_table_action_encap_config::data_offset
uint32_t data_offset
Definition: rte_table_action.h:516
rte_table_action_mtr_counters::stats
struct rte_table_action_mtr_counters_tc stats[RTE_TABLE_ACTION_TC_MAX]
Definition: rte_table_action.h:329
RTE_TABLE_ACTION_MPLS_LABELS_MAX
#define RTE_TABLE_ACTION_MPLS_LABELS_MAX
Definition: rte_table_action.h:458
RTE_TABLE_ACTION_METER_SRTCM
@ RTE_TABLE_ACTION_METER_SRTCM
Definition: rte_table_action.h:217
rte_table_action_mtr_params::tc_mask
uint32_t tc_mask
Definition: rte_table_action.h:323