DPDK  19.11.1
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 16
185 
187 #define RTE_TABLE_ACTION_TC_QUEUE_MAX 16
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 
277  uint64_t n_bytes[RTE_COLORS];
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 
386 };
387 
392 };
393 
396  uint8_t pcp;
397  uint8_t dei;
398  uint16_t vid;
399 };
400 
403  uint32_t label;
404  uint8_t tc;
405  uint8_t ttl;
406 };
407 
410  uint16_t session_id;
411 };
412 
415  uint32_t sa;
416  uint32_t da;
417  uint8_t dscp;
418  uint8_t ttl;
419 };
420 
423  uint8_t sa[16];
424  uint8_t da[16];
425  uint32_t flow_label;
426  uint8_t dscp;
427  uint8_t hop_limit;
428 };
429 
432  uint16_t sp;
433  uint16_t dp;
434 };
435 
438  uint32_t vni;
439 };
440 
444 };
445 
450 };
451 
457 };
458 
460 #ifndef RTE_TABLE_ACTION_MPLS_LABELS_MAX
461 #define RTE_TABLE_ACTION_MPLS_LABELS_MAX 4
462 #endif
463 
468 
471 
473  uint32_t mpls_count;
474 
476  int unicast;
477 };
478 
483 };
484 
491  union {
494  };
495 
498 };
499 
508  uint64_t encap_mask;
509 
512  union {
513  struct {
519  uint32_t data_offset;
520 
524  int vlan;
525 
531  } vxlan;
532  };
533 };
534 
537 
543 };
544 
549 
551  union {
554 
557 
560 
563 
566 
569 
572  };
573 };
574 
585 
590  uint8_t proto;
591 };
592 
597 
599  union {
601  uint32_t ipv4;
602 
604  uint8_t ipv6[16];
605  } addr;
606 
608  uint16_t port;
609 };
610 
622  int drop;
623 
630 };
631 
639 };
640 
646  uint64_t n_packets;
647 };
648 
660 
667 };
668 
675  uint64_t n_packets;
676 
681  uint64_t n_bytes;
682 };
683 
687  uint64_t n_packets;
688 
690  uint64_t n_bytes;
691 
694 
697 };
698 
705  uint64_t time;
706 };
707 
711 #ifndef RTE_TABLE_ACTION_SYM_CRYPTO_IV_SIZE_MAX
712 #define RTE_TABLE_ACTION_SYM_CRYPTO_IV_SIZE_MAX (16)
713 #endif
714 
715 #ifndef RTE_TABLE_ACTION_SYM_CRYPTO_AAD_SIZE_MAX
716 #define RTE_TABLE_ACTION_SYM_CRYPTO_AAD_SIZE_MAX (16)
717 #endif
718 
719 #ifndef RTE_TABLE_ACTION_SYM_CRYPTO_IV_OFFSET
720 #define RTE_TABLE_ACTION_SYM_CRYPTO_IV_OFFSET \
721  (sizeof(struct rte_crypto_op) + sizeof(struct rte_crypto_sym_op))
722 #endif
723 
726  uint8_t *val;
727  uint32_t length;
728  uint32_t offset;
729 };
730 
734  uint8_t cryptodev_id;
735 
740  uint32_t op_offset;
741 
744 
747 };
748 
751 
754 
760  uint32_t data_offset;
761 
762  union {
763  struct {
766 
769 
772 
775 
776  } cipher_auth;
777 
778  struct {
781 
784 
787 
790 
791  } aead;
792  };
793 };
794 
801  uint32_t tag;
802 };
803 
810  uint16_t n;
811 };
812 
816 struct rte_table_action_profile;
817 
826 __rte_experimental
827 struct rte_table_action_profile *
829 
838 __rte_experimental
839 int
840 rte_table_action_profile_free(struct rte_table_action_profile *profile);
841 
857 __rte_experimental
858 int
859 rte_table_action_profile_action_register(struct rte_table_action_profile *profile,
860  enum rte_table_action_type type,
861  void *action_config);
862 
878 __rte_experimental
879 int
880 rte_table_action_profile_freeze(struct rte_table_action_profile *profile);
881 
885 struct rte_table_action;
886 
902 __rte_experimental
903 struct rte_table_action *
904 rte_table_action_create(struct rte_table_action_profile *profile,
905  uint32_t socket_id);
906 
915 __rte_experimental
916 int
917 rte_table_action_free(struct rte_table_action *action);
918 
929 __rte_experimental
930 int
931 rte_table_action_table_params_get(struct rte_table_action *action,
932  struct rte_pipeline_table_params *params);
933 
952 __rte_experimental
953 int
954 rte_table_action_apply(struct rte_table_action *action,
955  void *data,
956  enum rte_table_action_type type,
957  void *action_params);
958 
972 __rte_experimental
973 int
974 rte_table_action_dscp_table_update(struct rte_table_action *action,
975  uint64_t dscp_mask,
976  struct rte_table_action_dscp_table *table);
977 
992 __rte_experimental
993 int
994 rte_table_action_meter_profile_add(struct rte_table_action *action,
995  uint32_t meter_profile_id,
996  struct rte_table_action_meter_profile *profile);
997 
1009 __rte_experimental
1010 int
1011 rte_table_action_meter_profile_delete(struct rte_table_action *action,
1012  uint32_t meter_profile_id);
1013 
1041 __rte_experimental
1042 int
1043 rte_table_action_meter_read(struct rte_table_action *action,
1044  void *data,
1045  uint32_t tc_mask,
1046  struct rte_table_action_mtr_counters *stats,
1047  int clear);
1048 
1068 __rte_experimental
1069 int
1070 rte_table_action_ttl_read(struct rte_table_action *action,
1071  void *data,
1072  struct rte_table_action_ttl_counters *stats,
1073  int clear);
1074 
1094 __rte_experimental
1095 int
1096 rte_table_action_stats_read(struct rte_table_action *action,
1097  void *data,
1098  struct rte_table_action_stats_counters *stats,
1099  int clear);
1100 
1115 __rte_experimental
1116 int
1117 rte_table_action_time_read(struct rte_table_action *action,
1118  void *data,
1119  uint64_t *timestamp);
1120 
1131 __rte_experimental
1133 rte_table_action_crypto_sym_session_get(struct rte_table_action *action,
1134  void *data);
1135 
1136 #ifdef __cplusplus
1137 }
1138 #endif
1139 
1140 #endif /* __INCLUDE_RTE_TABLE_ACTION_H__ */
rte_table_action_meter_profile_delete
__rte_experimental int rte_table_action_meter_profile_delete(struct rte_table_action *action, uint32_t meter_profile_id)
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:389
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:693
rte_table_action_nat_params::port
uint16_t port
Definition: rte_table_action.h:608
rte_table_action_sym_crypto_config::mp_init
struct rte_mempool * mp_init
Definition: rte_table_action.h:746
rte_table_action_udp_header::sp
uint16_t sp
Definition: rte_table_action.h:432
rte_table_action_nat_params::ipv6
uint8_t ipv6[16]
Definition: rte_table_action.h:604
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:596
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:482
rte_table_action_ipv6_header::sa
uint8_t sa[16]
Definition: rte_table_action.h:423
rte_meter.h
rte_table_action_vlan_hdr::vid
uint16_t vid
Definition: rte_table_action.h:398
rte_table_action_vxlan_hdr::vni
uint32_t vni
Definition: rte_table_action.h:438
rte_table_action_sym_crypto_config::cryptodev_id
uint8_t cryptodev_id
Definition: rte_table_action.h:734
rte_table_encap_ether_qinq_pppoe::pppoe
struct rte_table_action_pppoe_hdr pppoe
Definition: rte_table_action.h:542
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_udp_header::dp
uint16_t dp
Definition: rte_table_action.h:433
rte_table_action_ipv4_header::ttl
uint8_t ttl
Definition: rte_table_action.h:418
rte_table_action_mpls_hdr::ttl
uint8_t ttl
Definition: rte_table_action.h:405
rte_table_action_encap_vxlan_params::vlan
struct rte_table_action_vlan_hdr vlan
Definition: rte_table_action.h:488
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:403
rte_table_action_stats_counters
Definition: rte_table_action.h:685
rte_table_action_nat_params::ipv4
uint32_t ipv4
Definition: rte_table_action.h:601
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:760
rte_table_action_vlan_hdr::dei
uint8_t dei
Definition: rte_table_action.h:397
rte_table_action_encap_params::pppoe
struct rte_table_action_encap_pppoe_params pppoe
Definition: rte_table_action.h:565
rte_table_action_encap_params::mpls
struct rte_table_action_encap_mpls_params mpls
Definition: rte_table_action.h:562
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:765
RTE_TABLE_ACTION_ENCAP_PPPOE
@ RTE_TABLE_ACTION_ENCAP_PPPOE
Definition: rte_table_action.h:377
rte_table_action_time_read
__rte_experimental int rte_table_action_time_read(struct rte_table_action *action, void *data, uint64_t *timestamp)
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:448
rte_table_action_encap_vxlan_params::udp
struct rte_table_action_udp_header udp
Definition: rte_table_action.h:496
rte_table_action_sym_crypto_params::cipher_iv_update
struct rte_table_action_vlo cipher_iv_update
Definition: rte_table_action.h:768
rte_table_action_encap_vxlan_params
Definition: rte_table_action.h:486
rte_table_action_encap_pppoe_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:481
rte_table_action_fwd_params::action
enum rte_pipeline_action action
Definition: rte_table_action.h:126
rte_table_action_profile_action_register
__rte_experimental int rte_table_action_profile_action_register(struct rte_table_action_profile *profile, enum rte_table_action_type type, void *action_config)
rte_table_action_encap_pppoe_params
Definition: rte_table_action.h:480
rte_table_action_policer
rte_table_action_policer
Definition: rte_table_action.h:239
rte_table_action_stats_counters::n_bytes_valid
int n_bytes_valid
Definition: rte_table_action.h:696
rte_table_action_sym_crypto_params::xform
struct rte_crypto_sym_xform * xform
Definition: rte_table_action.h:753
rte_table_action_apply
__rte_experimental int rte_table_action_apply(struct rte_table_action *action, void *data, enum rte_table_action_type type, void *action_params)
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:453
rte_table_action_ipv6_header::flow_label
uint32_t flow_label
Definition: rte_table_action.h:425
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:732
rte_table_action_nat_params::addr
union rte_table_action_nat_params::@253 addr
rte_table_encap_ether_qinq_pppoe
Definition: rte_table_action.h:536
rte_table_action_tm_params::subport_id
uint32_t subport_id
Definition: rte_table_action.h:353
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_encap_ether_qinq_pppoe::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:539
rte_color
rte_color
Definition: rte_meter.h:36
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:487
RTE_TABLE_ACTION_POLICER_COLOR_GREEN
@ RTE_TABLE_ACTION_POLICER_COLOR_GREEN
Definition: rte_table_action.h:241
rte_ether.h
RTE_TABLE_ACTION_TM
@ RTE_TABLE_ACTION_TM
Definition: rte_table_action.h:80
rte_table_action_encap_params
Definition: rte_table_action.h:546
RTE_TABLE_ACTION_TC_MAX
#define RTE_TABLE_ACTION_TC_MAX
Definition: rte_table_action.h:184
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:659
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:687
rte_table_action_sym_crypto_params::iv
struct rte_table_action_vlo iv
Definition: rte_table_action.h:783
rte_table_action_ttl_config::drop
int drop
Definition: rte_table_action.h:622
rte_table_action_decap_params
Definition: rte_table_action.h:808
rte_table_action_vlo
Definition: rte_table_action.h:725
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:501
rte_table_action_dscp_table_entry
Definition: rte_table_action.h:190
rte_table_action_encap_mpls_params
Definition: rte_table_action.h:465
rte_table_action_ipv6_header::dscp
uint8_t dscp
Definition: rte_table_action.h:426
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_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:681
rte_table_action_sym_crypto_config::mp_create
struct rte_mempool * mp_create
Definition: rte_table_action.h:743
rte_table_action_stats_config::n_bytes_enabled
int n_bytes_enabled
Definition: rte_table_action.h:666
rte_table_action_type
rte_table_action_type
Definition: rte_table_action.h:69
rte_table_action_encap_params::qinq_pppoe
struct rte_table_encap_ether_qinq_pppoe qinq_pppoe
Definition: rte_table_action.h:571
rte_table_action_ttl_params::decrement
int decrement
Definition: rte_table_action.h:638
rte_table_action_ipv4_header
Definition: rte_table_action.h:414
rte_table_action_ipv6_header
Definition: rte_table_action.h:422
rte_table_action_ttl_counters::n_packets
uint64_t n_packets
Definition: rte_table_action.h:646
rte_table_action_mtr_counters
Definition: rte_table_action.h:327
rte_table_action_encap_config::vxlan
struct rte_table_action_encap_config::@248::@250 vxlan
rte_table_action_lb_config::f_hash
rte_table_hash_op_hash f_hash
Definition: rte_table_action.h:158
rte_table_action_mtr_counters_tc::n_packets
uint64_t n_packets[RTE_COLORS]
Definition: rte_table_action.h:271
rte_meter_srtcm_params
Definition: rte_meter.h:46
rte_table_action_time_params
Definition: rte_table_action.h:703
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:416
rte_table_action_encap_params::vxlan
struct rte_table_action_encap_vxlan_params vxlan
Definition: rte_table_action.h:568
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:424
rte_table_action_dscp_table_entry::color
enum rte_color color
Definition: rte_table_action.h:205
rte_table_action_ttl_counters
Definition: rte_table_action.h:642
rte_pipeline_action
rte_pipeline_action
Definition: rte_pipeline.h:181
rte_table_action_nat_config
Definition: rte_table_action.h:579
rte_table_action_stats_read
__rte_experimental int rte_table_action_stats_read(struct rte_table_action *action, void *data, struct rte_table_action_stats_counters *stats, int clear)
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:675
rte_table_action_nat_config::proto
uint8_t proto
Definition: rte_table_action.h:590
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_tag_params::tag
uint32_t tag
Definition: rte_table_action.h:801
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:437
rte_table_action_encap_vlan_params::vlan
struct rte_table_action_vlan_hdr vlan
Definition: rte_table_action.h:449
rte_table_action_encap_vlan_params
Definition: rte_table_action.h:447
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:740
rte_table_action_mtr_counters_tc::n_packets_valid
int n_packets_valid
Definition: rte_table_action.h:280
rte_table_action_ipv4_header::sa
uint32_t sa
Definition: rte_table_action.h:415
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:470
rte_table_action_sym_crypto_params::auth_iv_update
struct rte_table_action_vlo auth_iv_update
Definition: rte_table_action.h:774
RTE_TABLE_ACTION_ENCAP_QINQ_PPPOE
@ RTE_TABLE_ACTION_ENCAP_QINQ_PPPOE
Definition: rte_table_action.h:385
rte_table_action_encap_params::vlan
struct rte_table_action_encap_vlan_params vlan
Definition: rte_table_action.h:556
rte_table_action_encap_qinq_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:454
rte_table_action_udp_header
Definition: rte_table_action.h:431
rte_table_action_sym_crypto_params::iv_update
struct rte_table_action_vlo iv_update
Definition: rte_table_action.h:789
rte_table_action_encap_type
rte_table_action_encap_type
Definition: rte_table_action.h:363
rte_table_encap_ether_qinq_pppoe::cvlan
struct rte_table_action_vlan_hdr cvlan
Definition: rte_table_action.h:541
rte_crypto_sym_xform
Definition: rte_crypto_sym.h:440
rte_table_action_vlan_hdr
Definition: rte_table_action.h:395
rte_mempool
Definition: rte_mempool.h:216
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:410
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:493
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:40
rte_table_action_nat_config::source_nat
int source_nat
Definition: rte_table_action.h:584
rte_table_action_table_params_get
__rte_experimental int rte_table_action_table_params_get(struct rte_table_action *action, struct rte_pipeline_table_params *params)
rte_table_action_encap_params::qinq
struct rte_table_action_encap_qinq_params qinq
Definition: rte_table_action.h:559
rte_table_action_ipv6_header::hop_limit
uint8_t hop_limit
Definition: rte_table_action.h:427
rte_cryptodev_sym_session
Definition: rte_cryptodev.h:974
RTE_TABLE_ACTION_LB_KEY_SIZE_MAX
#define RTE_TABLE_ACTION_LB_KEY_SIZE_MAX
Definition: rte_table_action.h:139
rte_table_action_meter_read
__rte_experimental int 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_sym_crypto_params::auth_iv
struct rte_table_action_vlo auth_iv
Definition: rte_table_action.h:771
rte_meter_trtcm_params
Definition: rte_meter.h:55
RTE_TABLE_ACTION_POLICER_DROP
@ RTE_TABLE_ACTION_POLICER_DROP
Definition: rte_table_action.h:250
rte_table_action_mtr_counters_tc::n_bytes
uint64_t n_bytes[RTE_COLORS]
Definition: rte_table_action.h:277
rte_table_action_crypto_sym_session_get
__rte_experimental struct rte_cryptodev_sym_session * rte_table_action_crypto_sym_session_get(struct rte_table_action *action, void *data)
rte_table_action_encap_qinq_params::svlan
struct rte_table_action_vlan_hdr svlan
Definition: rte_table_action.h:455
rte_table_action_lb_params
Definition: rte_table_action.h:170
rte_table_action_profile_create
__rte_experimental struct rte_table_action_profile * rte_table_action_profile_create(struct rte_table_action_common_config *common)
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:705
rte_table_action_encap_params::ether
struct rte_table_action_encap_ether_params ether
Definition: rte_table_action.h:553
RTE_TABLE_ACTION_MTR
@ RTE_TABLE_ACTION_MTR
Definition: rte_table_action.h:77
rte_table_action_pppoe_hdr
Definition: rte_table_action.h:409
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_create
__rte_experimental struct rte_table_action * rte_table_action_create(struct rte_table_action_profile *profile, uint32_t socket_id)
rte_table_action_stats_params
Definition: rte_table_action.h:670
rte_table_action_sym_crypto_params::aad_update
struct rte_table_action_vlo aad_update
Definition: rte_table_action.h:786
rte_table_action_vlan_hdr::pcp
uint8_t pcp
Definition: rte_table_action.h:396
rte_table_action_free
__rte_experimental int rte_table_action_free(struct rte_table_action *action)
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:548
rte_table_action_encap_ether_params
Definition: rte_table_action.h:442
rte_table_action_encap_mpls_params::unicast
int unicast
Definition: rte_table_action.h:476
rte_table_action_lb_config::out_offset
uint32_t out_offset
Definition: rte_table_action.h:166
rte_table_action_tag_params
Definition: rte_table_action.h:799
rte_table_action_encap_config::ip_version
int ip_version
Definition: rte_table_action.h:530
rte_table_action_ttl_read
__rte_experimental int 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_mpls_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:467
rte_table_action_mpls_hdr::tc
uint8_t tc
Definition: rte_table_action.h:404
rte_table_action_encap_config::encap_mask
uint64_t encap_mask
Definition: rte_table_action.h:508
rte_table_action_encap_vxlan_params::vxlan
struct rte_table_action_vxlan_hdr vxlan
Definition: rte_table_action.h:497
rte_table_action_dscp_table_update
__rte_experimental int 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_encap_mpls_params::mpls_count
uint32_t mpls_count
Definition: rte_table_action.h:473
RTE_COLORS
@ RTE_COLORS
Definition: rte_meter.h:40
rte_table_action_profile_free
__rte_experimental int rte_table_action_profile_free(struct rte_table_action_profile *profile)
rte_ether_addr
Definition: rte_ether.h:60
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:633
rte_table_action_ttl_config
Definition: rte_table_action.h:615
rte_table_action_encap_qinq_params::cvlan
struct rte_table_action_vlan_hdr cvlan
Definition: rte_table_action.h:456
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:780
rte_table_action_sym_crypto_params
Definition: rte_table_action.h:750
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:690
RTE_TABLE_ACTION_TTL
@ RTE_TABLE_ACTION_TTL
Definition: rte_table_action.h:89
rte_table_action_mtr_tc_params::policer
enum rte_table_action_policer policer[RTE_COLORS]
Definition: rte_table_action.h:262
rte_table_action_decap_params::n
uint16_t n
Definition: rte_table_action.h:810
rte_table_action_nat_params
Definition: rte_table_action.h:594
RTE_TABLE_ACTION_ENCAP
@ RTE_TABLE_ACTION_ENCAP
Definition: rte_table_action.h:83
rte_table_action_ether_hdr::sa
struct rte_ether_addr sa
Definition: rte_table_action.h:391
rte_table_action_stats_config
Definition: rte_table_action.h:653
rte_table_action_mtr_tc_params
Definition: rte_table_action.h:257
rte_table_action_mpls_hdr
Definition: rte_table_action.h:402
rte_table_action_encap_ether_params::ether
struct rte_table_action_ether_hdr ether
Definition: rte_table_action.h:443
rte_table_action_ttl_config::n_packets_enabled
int n_packets_enabled
Definition: rte_table_action.h:629
rte_table_encap_ether_qinq_pppoe::svlan
struct rte_table_action_vlan_hdr svlan
Definition: rte_table_action.h:540
rte_table_action_encap_config::vlan
int vlan
Definition: rte_table_action.h:524
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:492
rte_table_action_profile_freeze
__rte_experimental int rte_table_action_profile_freeze(struct rte_table_action_profile *profile)
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:417
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:519
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_ether_hdr::da
struct rte_ether_addr da
Definition: rte_table_action.h:390
RTE_TABLE_ACTION_MPLS_LABELS_MAX
#define RTE_TABLE_ACTION_MPLS_LABELS_MAX
Definition: rte_table_action.h:461
rte_table_action_meter_profile_add
__rte_experimental int 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_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