DPDK  22.11.5
rte_swx_ctl.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2020 Intel Corporation
3  */
4 #ifndef __INCLUDE_RTE_SWX_CTL_H__
5 #define __INCLUDE_RTE_SWX_CTL_H__
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
16 #include <stdint.h>
17 #include <stdio.h>
18 
19 #include <rte_compat.h>
20 #include <rte_meter.h>
21 
22 #include "rte_swx_port.h"
23 #include "rte_swx_table.h"
24 
25 struct rte_swx_pipeline;
26 
28 #ifndef RTE_SWX_CTL_NAME_SIZE
29 #define RTE_SWX_CTL_NAME_SIZE 64
30 #endif
31 
32 /*
33  * Pipeline Query API.
34  */
35 
40 
42  uint32_t n_ports_in;
43 
45  uint32_t n_ports_out;
46 
49 
52 
54  uint32_t n_actions;
55 
57  uint32_t n_tables;
58 
60  uint32_t n_selectors;
61 
63  uint32_t n_learners;
64 
66  uint32_t n_regarrays;
67 
69  uint32_t n_metarrays;
70 };
71 
83 __rte_experimental
84 int
85 rte_swx_ctl_pipeline_info_get(struct rte_swx_pipeline *p,
87 
99 __rte_experimental
100 int
101 rte_swx_ctl_pipeline_numa_node_get(struct rte_swx_pipeline *p,
102  int *numa_node);
103 
104 /*
105  * Ports Query API.
106  */
107 
121 __rte_experimental
122 int
123 rte_swx_ctl_pipeline_port_in_stats_read(struct rte_swx_pipeline *p,
124  uint32_t port_id,
125  struct rte_swx_port_in_stats *stats);
126 
140 __rte_experimental
141 int
142 rte_swx_ctl_pipeline_port_out_stats_read(struct rte_swx_pipeline *p,
143  uint32_t port_id,
144  struct rte_swx_port_out_stats *stats);
145 
146 /*
147  * Action Query API.
148  */
149 
154 
156  uint32_t n_args;
157 };
158 
172 __rte_experimental
173 int
174 rte_swx_ctl_action_info_get(struct rte_swx_pipeline *p,
175  uint32_t action_id,
176  struct rte_swx_ctl_action_info *action);
177 
182 
184  uint32_t n_bits;
185 
191 };
192 
208 __rte_experimental
209 int
210 rte_swx_ctl_action_arg_info_get(struct rte_swx_pipeline *p,
211  uint32_t action_id,
212  uint32_t action_arg_id,
213  struct rte_swx_ctl_action_arg_info *action_arg);
214 
215 /*
216  * Table Query API.
217  */
218 
223 
226 
228  uint32_t n_match_fields;
229 
231  uint32_t n_actions;
232 
238 
241 
243  uint32_t size;
244 };
245 
259 __rte_experimental
260 int
261 rte_swx_ctl_table_info_get(struct rte_swx_pipeline *p,
262  uint32_t table_id,
263  struct rte_swx_ctl_table_info *table);
264 
272  enum rte_swx_table_match_type match_type;
273 
278 
280  uint32_t n_bits;
281 
285  uint32_t offset;
286 };
287 
303 __rte_experimental
304 int
305 rte_swx_ctl_table_match_field_info_get(struct rte_swx_pipeline *p,
306  uint32_t table_id,
307  uint32_t match_field_id,
308  struct rte_swx_ctl_table_match_field_info *match_field);
309 
313  uint32_t action_id;
314 
317 
320 };
321 
340 __rte_experimental
341 int
342 rte_swx_ctl_table_action_info_get(struct rte_swx_pipeline *p,
343  uint32_t table_id,
344  uint32_t table_action_id,
345  struct rte_swx_ctl_table_action_info *table_action);
346 
366 __rte_experimental
367 int
368 rte_swx_ctl_table_ops_get(struct rte_swx_pipeline *p,
369  uint32_t table_id,
370  struct rte_swx_table_ops *table_ops,
371  int *is_stub);
372 
376  uint64_t n_pkts_hit;
377 
379  uint64_t n_pkts_miss;
380 
386  uint64_t *n_pkts_action;
387 };
388 
405 __rte_experimental
406 int
407 rte_swx_ctl_pipeline_table_stats_read(struct rte_swx_pipeline *p,
408  const char *table_name,
409  struct rte_swx_table_stats *stats);
410 
411 /*
412  * Selector Table Query API.
413  */
414 
419 
422 
424  uint32_t n_groups_max;
425 
428 };
429 
443 __rte_experimental
444 int
445 rte_swx_ctl_selector_info_get(struct rte_swx_pipeline *p,
446  uint32_t selector_id,
447  struct rte_swx_ctl_selector_info *selector);
448 
462 __rte_experimental
463 int
464 rte_swx_ctl_selector_group_id_field_info_get(struct rte_swx_pipeline *p,
465  uint32_t selector_id,
466  struct rte_swx_ctl_table_match_field_info *field);
467 
483 __rte_experimental
484 int
485 rte_swx_ctl_selector_field_info_get(struct rte_swx_pipeline *p,
486  uint32_t selector_id,
487  uint32_t selector_field_id,
488  struct rte_swx_ctl_table_match_field_info *field);
489 
503 __rte_experimental
504 int
505 rte_swx_ctl_selector_member_id_field_info_get(struct rte_swx_pipeline *p,
506  uint32_t selector_id,
507  struct rte_swx_ctl_table_match_field_info *field);
508 
512  uint64_t n_pkts;
513 };
514 
528 __rte_experimental
529 int
530 rte_swx_ctl_pipeline_selector_stats_read(struct rte_swx_pipeline *p,
531  const char *selector_name,
532  struct rte_swx_pipeline_selector_stats *stats);
533 
534 /*
535  * Learner Table Query API.
536  */
537 
542 
544  uint32_t n_match_fields;
545 
547  uint32_t n_actions;
548 
554 
556  uint32_t size;
557 
559  uint32_t n_key_timeouts;
560 };
561 
575 __rte_experimental
576 int
577 rte_swx_ctl_learner_info_get(struct rte_swx_pipeline *p,
578  uint32_t learner_id,
579  struct rte_swx_ctl_learner_info *learner);
580 
596 __rte_experimental
597 int
598 rte_swx_ctl_learner_match_field_info_get(struct rte_swx_pipeline *p,
599  uint32_t learner_id,
600  uint32_t match_field_id,
601  struct rte_swx_ctl_table_match_field_info *match_field);
602 
620 __rte_experimental
621 int
622 rte_swx_ctl_learner_action_info_get(struct rte_swx_pipeline *p,
623  uint32_t learner_id,
624  uint32_t learner_action_id,
625  struct rte_swx_ctl_table_action_info *learner_action);
626 
642 __rte_experimental
643 int
644 rte_swx_ctl_pipeline_learner_timeout_get(struct rte_swx_pipeline *p,
645  uint32_t learner_id,
646  uint32_t timeout_id,
647  uint32_t *timeout);
648 
664 __rte_experimental
665 int
666 rte_swx_ctl_pipeline_learner_timeout_set(struct rte_swx_pipeline *p,
667  uint32_t learner_id,
668  uint32_t timeout_id,
669  uint32_t timeout);
670 
674  uint64_t n_pkts_hit;
675 
677  uint64_t n_pkts_miss;
678 
680  uint64_t n_pkts_learn_ok;
681 
684 
686  uint64_t n_pkts_rearm;
687 
689  uint64_t n_pkts_forget;
690 
695  uint64_t *n_pkts_action;
696 };
697 
714 __rte_experimental
715 int
716 rte_swx_ctl_pipeline_learner_stats_read(struct rte_swx_pipeline *p,
717  const char *learner_name,
718  struct rte_swx_learner_stats *stats);
719 
720 /*
721  * Packet mirroring API.
722  */
723 
727  uint32_t port_id;
728 
731 
734 };
735 
750 __rte_experimental
751 int
752 rte_swx_ctl_pipeline_mirroring_session_set(struct rte_swx_pipeline *p,
753  uint32_t session_id,
755 
756 /*
757  * Table Update API.
758  */
759 
763  void *obj;
764 
767 
772 };
773 
790 __rte_experimental
791 int
792 rte_swx_pipeline_table_state_get(struct rte_swx_pipeline *p,
793  struct rte_swx_table_state **table_state);
794 
809 __rte_experimental
810 int
811 rte_swx_pipeline_table_state_set(struct rte_swx_pipeline *p,
812  struct rte_swx_table_state *table_state);
813 
814 /*
815  * High Level Reference Table Update API.
816  */
817 
819 struct rte_swx_ctl_pipeline;
820 
829 __rte_experimental
830 struct rte_swx_ctl_pipeline *
831 rte_swx_ctl_pipeline_find(const char *name);
832 
841 __rte_experimental
842 struct rte_swx_ctl_pipeline *
843 rte_swx_ctl_pipeline_create(struct rte_swx_pipeline *p);
844 
861 __rte_experimental
862 int
863 rte_swx_ctl_pipeline_table_entry_add(struct rte_swx_ctl_pipeline *ctl,
864  const char *table_name,
865  struct rte_swx_table_entry *entry);
866 
883 __rte_experimental
884 int
885 rte_swx_ctl_pipeline_table_default_entry_add(struct rte_swx_ctl_pipeline *ctl,
886  const char *table_name,
887  struct rte_swx_table_entry *entry);
888 
906 __rte_experimental
907 int
908 rte_swx_ctl_pipeline_table_entry_delete(struct rte_swx_ctl_pipeline *ctl,
909  const char *table_name,
910  struct rte_swx_table_entry *entry);
911 
931 __rte_experimental
932 int
933 rte_swx_ctl_pipeline_selector_group_add(struct rte_swx_ctl_pipeline *ctl,
934  const char *selector_name,
935  uint32_t *group_id);
936 
954 __rte_experimental
955 int
956 rte_swx_ctl_pipeline_selector_group_delete(struct rte_swx_ctl_pipeline *ctl,
957  const char *selector_name,
958  uint32_t group_id);
959 
984 __rte_experimental
985 int
986 rte_swx_ctl_pipeline_selector_group_member_add(struct rte_swx_ctl_pipeline *ctl,
987  const char *selector_name,
988  uint32_t group_id,
989  uint32_t member_id,
990  uint32_t member_weight);
991 
1010 __rte_experimental
1011 int
1012 rte_swx_ctl_pipeline_selector_group_member_delete(struct rte_swx_ctl_pipeline *ctl,
1013  const char *selector_name,
1014  uint32_t group_id,
1015  uint32_t member_id);
1016 
1032 __rte_experimental
1033 int
1034 rte_swx_ctl_pipeline_learner_default_entry_add(struct rte_swx_ctl_pipeline *ctl,
1035  const char *learner_name,
1036  struct rte_swx_table_entry *entry);
1037 
1053 __rte_experimental
1054 int
1055 rte_swx_ctl_pipeline_commit(struct rte_swx_ctl_pipeline *ctl,
1056  int abort_on_fail);
1057 
1066 __rte_experimental
1067 void
1068 rte_swx_ctl_pipeline_abort(struct rte_swx_ctl_pipeline *ctl);
1069 
1089 __rte_experimental
1090 struct rte_swx_table_entry *
1091 rte_swx_ctl_pipeline_table_entry_read(struct rte_swx_ctl_pipeline *ctl,
1092  const char *table_name,
1093  const char *string,
1094  int *is_blank_or_comment);
1095 
1115 __rte_experimental
1116 struct rte_swx_table_entry *
1117 rte_swx_ctl_pipeline_learner_default_entry_read(struct rte_swx_ctl_pipeline *ctl,
1118  const char *learner_name,
1119  const char *string,
1120  int *is_blank_or_comment);
1121 
1137 __rte_experimental
1138 int
1140  struct rte_swx_ctl_pipeline *ctl,
1141  const char *table_name);
1142 
1158 __rte_experimental
1159 int
1161  struct rte_swx_ctl_pipeline *ctl,
1162  const char *selector_name);
1163 
1164 /*
1165  * Register Array Query API.
1166  */
1167 
1172 
1174  uint32_t size;
1175 };
1176 
1190 __rte_experimental
1191 int
1192 rte_swx_ctl_regarray_info_get(struct rte_swx_pipeline *p,
1193  uint32_t regarray_id,
1194  struct rte_swx_ctl_regarray_info *regarray);
1195 
1211 __rte_experimental
1212 int
1213 rte_swx_ctl_pipeline_regarray_read(struct rte_swx_pipeline *p,
1214  const char *regarray_name,
1215  uint32_t regarray_index,
1216  uint64_t *value);
1217 
1233 __rte_experimental
1234 int
1235 rte_swx_ctl_pipeline_regarray_write(struct rte_swx_pipeline *p,
1236  const char *regarray_name,
1237  uint32_t regarray_index,
1238  uint64_t value);
1239 
1258 __rte_experimental
1259 int
1260 rte_swx_ctl_pipeline_regarray_read_with_key(struct rte_swx_pipeline *p,
1261  const char *regarray_name,
1262  const char *table_name,
1263  uint8_t *table_key,
1264  uint64_t *value);
1265 
1284 __rte_experimental
1285 int
1286 rte_swx_ctl_pipeline_regarray_write_with_key(struct rte_swx_pipeline *p,
1287  const char *regarray_name,
1288  const char *table_name,
1289  uint8_t *table_key,
1290  uint64_t value);
1291 
1292 /*
1293  * Meter Array Query and Configuration API.
1294  */
1295 
1300 
1302  uint32_t size;
1303 };
1304 
1318 __rte_experimental
1319 int
1320 rte_swx_ctl_metarray_info_get(struct rte_swx_pipeline *p,
1321  uint32_t metarray_id,
1322  struct rte_swx_ctl_metarray_info *metarray);
1323 
1339 __rte_experimental
1340 int
1341 rte_swx_ctl_meter_profile_add(struct rte_swx_pipeline *p,
1342  const char *name,
1343  struct rte_meter_trtcm_params *params);
1344 
1357 __rte_experimental
1358 int
1359 rte_swx_ctl_meter_profile_delete(struct rte_swx_pipeline *p,
1360  const char *name);
1361 
1380 __rte_experimental
1381 int
1382 rte_swx_ctl_meter_reset(struct rte_swx_pipeline *p,
1383  const char *metarray_name,
1384  uint32_t metarray_index);
1385 
1405 __rte_experimental
1406 int
1407 rte_swx_ctl_meter_set(struct rte_swx_pipeline *p,
1408  const char *metarray_name,
1409  uint32_t metarray_index,
1410  const char *profile_name);
1411 
1415  uint64_t n_pkts[RTE_COLORS];
1416 
1418  uint64_t n_bytes[RTE_COLORS];
1419 };
1420 
1436 __rte_experimental
1437 int
1438 rte_swx_ctl_meter_stats_read(struct rte_swx_pipeline *p,
1439  const char *metarray_name,
1440  uint32_t metarray_index,
1441  struct rte_swx_ctl_meter_stats *stats);
1442 
1463 __rte_experimental
1464 int
1465 rte_swx_ctl_meter_reset_with_key(struct rte_swx_pipeline *p,
1466  const char *metarray_name,
1467  const char *table_name,
1468  uint8_t *table_key);
1469 
1491 __rte_experimental
1492 int
1493 rte_swx_ctl_meter_set_with_key(struct rte_swx_pipeline *p,
1494  const char *metarray_name,
1495  const char *table_name,
1496  uint8_t *table_key,
1497  const char *profile_name);
1498 
1516 __rte_experimental
1517 int
1518 rte_swx_ctl_meter_stats_read_with_key(struct rte_swx_pipeline *p,
1519  const char *metarray_name,
1520  const char *table_name,
1521  uint8_t *table_key,
1522  struct rte_swx_ctl_meter_stats *stats);
1523 
1531 __rte_experimental
1532 void
1533 rte_swx_ctl_pipeline_free(struct rte_swx_ctl_pipeline *ctl);
1534 
1535 #ifdef __cplusplus
1536 }
1537 #endif
1538 
1539 #endif
uint32_t(* rte_swx_hash_func_t)(const void *key, uint32_t length, uint32_t seed)
__rte_experimental int rte_swx_ctl_pipeline_learner_timeout_set(struct rte_swx_pipeline *p, uint32_t learner_id, uint32_t timeout_id, uint32_t timeout)
__rte_experimental int rte_swx_ctl_table_action_info_get(struct rte_swx_pipeline *p, uint32_t table_id, uint32_t table_action_id, struct rte_swx_ctl_table_action_info *table_action)
__rte_experimental int rte_swx_ctl_selector_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, struct rte_swx_ctl_selector_info *selector)
__rte_experimental int rte_swx_ctl_meter_set(struct rte_swx_pipeline *p, const char *metarray_name, uint32_t metarray_index, const char *profile_name)
__rte_experimental int rte_swx_ctl_meter_profile_delete(struct rte_swx_pipeline *p, const char *name)
char name[RTE_SWX_CTL_NAME_SIZE]
Definition: rte_swx_ctl.h:39
__rte_experimental int rte_swx_ctl_pipeline_selector_stats_read(struct rte_swx_pipeline *p, const char *selector_name, struct rte_swx_pipeline_selector_stats *stats)
__rte_experimental struct rte_swx_table_entry * rte_swx_ctl_pipeline_learner_default_entry_read(struct rte_swx_ctl_pipeline *ctl, const char *learner_name, const char *string, int *is_blank_or_comment)
__rte_experimental int rte_swx_ctl_pipeline_selector_group_add(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, uint32_t *group_id)
Definition: rte_swx_table.h:76
uint64_t * n_pkts_action
Definition: rte_swx_ctl.h:386
__rte_experimental int rte_swx_ctl_pipeline_table_default_entry_add(struct rte_swx_ctl_pipeline *ctl, const char *table_name, struct rte_swx_table_entry *entry)
__rte_experimental int rte_swx_ctl_meter_stats_read_with_key(struct rte_swx_pipeline *p, const char *metarray_name, const char *table_name, uint8_t *table_key, struct rte_swx_ctl_meter_stats *stats)
__rte_experimental int rte_swx_ctl_pipeline_regarray_write_with_key(struct rte_swx_pipeline *p, const char *regarray_name, const char *table_name, uint8_t *table_key, uint64_t value)
uint8_t * default_action_data
Definition: rte_swx_ctl.h:771
__rte_experimental int rte_swx_ctl_pipeline_table_stats_read(struct rte_swx_pipeline *p, const char *table_name, struct rte_swx_table_stats *stats)
__rte_experimental int rte_swx_ctl_pipeline_selector_group_member_add(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, uint32_t group_id, uint32_t member_id, uint32_t member_weight)
__rte_experimental int rte_swx_ctl_meter_set_with_key(struct rte_swx_pipeline *p, const char *metarray_name, const char *table_name, uint8_t *table_key, const char *profile_name)
__rte_experimental int rte_swx_ctl_action_arg_info_get(struct rte_swx_pipeline *p, uint32_t action_id, uint32_t action_arg_id, struct rte_swx_ctl_action_arg_info *action_arg)
rte_swx_table_match_type
Definition: rte_swx_table.h:25
__rte_experimental int rte_swx_ctl_pipeline_regarray_read_with_key(struct rte_swx_pipeline *p, const char *regarray_name, const char *table_name, uint8_t *table_key, uint64_t *value)
__rte_experimental int rte_swx_ctl_meter_profile_add(struct rte_swx_pipeline *p, const char *name, struct rte_meter_trtcm_params *params)
uint64_t default_action_id
Definition: rte_swx_ctl.h:766
__rte_experimental int rte_swx_ctl_pipeline_numa_node_get(struct rte_swx_pipeline *p, int *numa_node)
__rte_experimental void rte_swx_ctl_pipeline_free(struct rte_swx_ctl_pipeline *ctl)
__rte_experimental int rte_swx_ctl_table_ops_get(struct rte_swx_pipeline *p, uint32_t table_id, struct rte_swx_table_ops *table_ops, int *is_stub)
__rte_experimental int rte_swx_ctl_learner_match_field_info_get(struct rte_swx_pipeline *p, uint32_t learner_id, uint32_t match_field_id, struct rte_swx_ctl_table_match_field_info *match_field)
__rte_experimental int rte_swx_ctl_pipeline_table_entry_delete(struct rte_swx_ctl_pipeline *ctl, const char *table_name, struct rte_swx_table_entry *entry)
__rte_experimental int rte_swx_ctl_meter_reset(struct rte_swx_pipeline *p, const char *metarray_name, uint32_t metarray_index)
__rte_experimental int rte_swx_ctl_pipeline_learner_default_entry_add(struct rte_swx_ctl_pipeline *ctl, const char *learner_name, struct rte_swx_table_entry *entry)
__rte_experimental int rte_swx_ctl_action_info_get(struct rte_swx_pipeline *p, uint32_t action_id, struct rte_swx_ctl_action_info *action)
__rte_experimental int rte_swx_ctl_selector_member_id_field_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, struct rte_swx_ctl_table_match_field_info *field)
__rte_experimental int rte_swx_ctl_pipeline_table_entry_add(struct rte_swx_ctl_pipeline *ctl, const char *table_name, struct rte_swx_table_entry *entry)
__rte_experimental int rte_swx_ctl_pipeline_regarray_write(struct rte_swx_pipeline *p, const char *regarray_name, uint32_t regarray_index, uint64_t value)
rte_swx_hash_func_t hash_func
Definition: rte_swx_ctl.h:240
__rte_experimental int rte_swx_ctl_metarray_info_get(struct rte_swx_pipeline *p, uint32_t metarray_id, struct rte_swx_ctl_metarray_info *metarray)
__rte_experimental int rte_swx_ctl_pipeline_port_out_stats_read(struct rte_swx_pipeline *p, uint32_t port_id, struct rte_swx_port_out_stats *stats)
__rte_experimental int rte_swx_ctl_pipeline_info_get(struct rte_swx_pipeline *p, struct rte_swx_ctl_pipeline_info *pipeline)
__rte_experimental struct rte_swx_ctl_pipeline * rte_swx_ctl_pipeline_create(struct rte_swx_pipeline *p)
__rte_experimental int rte_swx_ctl_pipeline_port_in_stats_read(struct rte_swx_pipeline *p, uint32_t port_id, struct rte_swx_port_in_stats *stats)
__rte_experimental int rte_swx_ctl_table_match_field_info_get(struct rte_swx_pipeline *p, uint32_t table_id, uint32_t match_field_id, struct rte_swx_ctl_table_match_field_info *match_field)
__rte_experimental int rte_swx_pipeline_table_state_get(struct rte_swx_pipeline *p, struct rte_swx_table_state **table_state)
__rte_experimental int rte_swx_ctl_pipeline_selector_group_member_delete(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, uint32_t group_id, uint32_t member_id)
__rte_experimental struct rte_swx_ctl_pipeline * rte_swx_ctl_pipeline_find(const char *name)
__rte_experimental struct rte_swx_table_entry * rte_swx_ctl_pipeline_table_entry_read(struct rte_swx_ctl_pipeline *ctl, const char *table_name, const char *string, int *is_blank_or_comment)
uint64_t * n_pkts_action
Definition: rte_swx_ctl.h:695
__rte_experimental int rte_swx_ctl_table_info_get(struct rte_swx_pipeline *p, uint32_t table_id, struct rte_swx_ctl_table_info *table)
__rte_experimental int rte_swx_ctl_meter_reset_with_key(struct rte_swx_pipeline *p, const char *metarray_name, const char *table_name, uint8_t *table_key)
__rte_experimental int rte_swx_ctl_selector_group_id_field_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, struct rte_swx_ctl_table_match_field_info *field)
__rte_experimental int rte_swx_ctl_selector_field_info_get(struct rte_swx_pipeline *p, uint32_t selector_id, uint32_t selector_field_id, struct rte_swx_ctl_table_match_field_info *field)
__rte_experimental int rte_swx_ctl_pipeline_commit(struct rte_swx_ctl_pipeline *ctl, int abort_on_fail)
__rte_experimental int rte_swx_ctl_pipeline_regarray_read(struct rte_swx_pipeline *p, const char *regarray_name, uint32_t regarray_index, uint64_t *value)
__rte_experimental int rte_swx_ctl_pipeline_selector_fprintf(FILE *f, struct rte_swx_ctl_pipeline *ctl, const char *selector_name)
__rte_experimental int rte_swx_ctl_pipeline_table_fprintf(FILE *f, struct rte_swx_ctl_pipeline *ctl, const char *table_name)
__rte_experimental int rte_swx_ctl_pipeline_selector_group_delete(struct rte_swx_ctl_pipeline *ctl, const char *selector_name, uint32_t group_id)
#define RTE_SWX_CTL_NAME_SIZE
Definition: rte_swx_ctl.h:29
__rte_experimental int rte_swx_ctl_regarray_info_get(struct rte_swx_pipeline *p, uint32_t regarray_id, struct rte_swx_ctl_regarray_info *regarray)
__rte_experimental int rte_swx_ctl_learner_info_get(struct rte_swx_pipeline *p, uint32_t learner_id, struct rte_swx_ctl_learner_info *learner)
__rte_experimental int rte_swx_ctl_pipeline_learner_stats_read(struct rte_swx_pipeline *p, const char *learner_name, struct rte_swx_learner_stats *stats)
__rte_experimental int rte_swx_ctl_pipeline_learner_timeout_get(struct rte_swx_pipeline *p, uint32_t learner_id, uint32_t timeout_id, uint32_t *timeout)
__rte_experimental int rte_swx_pipeline_table_state_set(struct rte_swx_pipeline *p, struct rte_swx_table_state *table_state)
__rte_experimental void rte_swx_ctl_pipeline_abort(struct rte_swx_ctl_pipeline *ctl)
__rte_experimental int rte_swx_ctl_learner_action_info_get(struct rte_swx_pipeline *p, uint32_t learner_id, uint32_t learner_action_id, struct rte_swx_ctl_table_action_info *learner_action)
__rte_experimental int rte_swx_ctl_meter_stats_read(struct rte_swx_pipeline *p, const char *metarray_name, uint32_t metarray_index, struct rte_swx_ctl_meter_stats *stats)
__rte_experimental int rte_swx_ctl_pipeline_mirroring_session_set(struct rte_swx_pipeline *p, uint32_t session_id, struct rte_swx_pipeline_mirroring_session_params *params)