Mellanox SwitchX SDK API Guide  4.3.2104
sx_api_span.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014-2019. Mellanox Technologies, Ltd. ALL RIGHTS RESERVED.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may
5  * not use this file except in compliance with the License. You may obtain
6  * a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
7  *
8  * THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR
9  * CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT
10  * LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS
11  * FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT.
12  *
13  * See the Apache Version 2.0 License for specific language governing
14  * permissions and limitations under the License.
15  *
16  */
17 
18 #ifndef __SX_API_SPAN_H__
19 #define __SX_API_SPAN_H__
20 
21 #include <sx/sdk/sx_api.h>
22 #include <sx/sdk/sx_strings.h>
23 
24 /************************************************
25  * API functions
26  ***********************************************/
27 
41 sx_status_t sx_api_span_log_verbosity_level_set(const sx_api_handle_t handle,
42  const sx_log_verbosity_target_t verbosity_target,
43  const sx_verbosity_level_t module_verbosity_level,
44  const sx_verbosity_level_t api_verbosity_level);
45 
59 sx_status_t sx_api_span_log_verbosity_level_get(const sx_api_handle_t handle,
60  const sx_log_verbosity_target_t verbosity_target,
61  sx_verbosity_level_t *module_verbosity_level_p,
62  sx_verbosity_level_t *api_verbosity_level_p);
63 
95 sx_status_t sx_api_span_session_set(const sx_api_handle_t handle,
96  const sx_access_cmd_t cmd,
97  const sx_span_session_params_t *span_session_params_p,
98  sx_span_session_id_t *span_session_id_p);
99 
115 sx_status_t sx_api_span_session_get(const sx_api_handle_t handle,
116  const sx_span_session_id_t span_session_id,
117  sx_span_session_params_t *span_session_params_p);
175 sx_status_t sx_api_span_session_iter_get(const sx_api_handle_t handle,
176  const sx_access_cmd_t cmd,
177  const sx_span_session_id_t *span_session_key_p,
178  const sx_span_filter_t *filter_p,
179  sx_span_session_id_t *span_session_list_p,
180  uint32_t *span_session_cnt_p);
195 sx_status_t sx_api_span_session_state_set(const sx_api_handle_t handle,
196  const sx_span_session_id_t span_session_id,
197  const boolean_t admin_state);
198 
214 sx_status_t sx_api_span_session_state_get(const sx_api_handle_t handle,
215  const sx_span_session_id_t span_session_id,
216  boolean_t *admin_state_p);
217 
234 sx_status_t sx_api_span_session_analyzer_get(const sx_api_handle_t handle,
235  const sx_span_session_id_t span_session_id,
236  sx_port_log_id_t *analyzer_port_p);
237 
255 sx_status_t sx_api_span_session_mirror_get(const sx_api_handle_t handle,
256  const sx_span_session_id_t span_session_id,
257  sx_span_mirror_t *mirror_ports_list_p,
258  uint32_t *mirror_ports_cnt_p);
259 
279 sx_status_t sx_api_span_mirror_set(const sx_api_handle_t handle,
280  const sx_access_cmd_t cmd,
281  const sx_port_log_id_t mirror_port,
282  const sx_mirror_direction_t mirror_direction,
283  const sx_span_session_id_t span_session_id);
284 
302 sx_status_t sx_api_span_mirror_get(const sx_api_handle_t handle,
303  const sx_port_log_id_t mirror_port,
304  const sx_mirror_direction_t mirror_direction,
305  sx_span_session_id_t *span_session_id_p);
306 
325 sx_status_t sx_api_span_mirror_state_set(const sx_api_handle_t handle,
326  const sx_port_log_id_t mirror_port,
327  const sx_mirror_direction_t mirror_direction,
328  const boolean_t admin_state);
329 
347 sx_status_t sx_api_span_mirror_state_get(const sx_api_handle_t handle,
348  const sx_port_log_id_t mirror_port,
349  const sx_mirror_direction_t mirror_direction,
350  boolean_t *admin_state_p);
351 
368 sx_status_t sx_api_span_analyzer_set(const sx_api_handle_t handle,
369  const sx_access_cmd_t cmd,
370  const sx_port_log_id_t log_port,
371  const sx_span_analyzer_port_params_t *port_params_p,
372  const sx_span_session_id_t span_session_id);
373 
390 sx_status_t sx_api_span_analyzer_get(const sx_api_handle_t handle,
391  const sx_port_log_id_t log_port,
392  sx_span_analyzer_port_params_t *port_params_p,
393  sx_span_session_id_t *span_session_id_list_p,
394  uint32_t *span_sessions_cnt_p);
395 
423 sx_status_t sx_api_span_init_set(sx_api_handle_t handle,
424  sx_span_init_params_t *init_params_p);
425 
445 sx_status_t sx_api_span_deinit_set(sx_api_handle_t handle);
446 
465 sx_status_t sx_api_span_session_counter_get(const sx_api_handle_t handle,
466  const sx_access_cmd_t cmd,
467  const sx_span_session_id_t span_session_id,
468  sx_span_counter_set_t *counter_set_p);
469 
470 
492 sx_status_t sx_api_span_mirror_tables_set(const sx_api_handle_t handle,
493  const sx_access_cmd_t cmd,
494  const sx_span_session_id_t span_session_id);
495 
512 sx_status_t sx_api_span_mirror_tables_get(const sx_api_handle_t handle,
513  sx_span_session_id_t *span_session_id_p);
514 
537 sx_status_t sx_api_span_drop_mirror_set(const sx_api_handle_t handle,
538  const sx_access_cmd_t cmd,
539  const sx_span_session_id_t span_session_id,
540  const sx_span_drop_mirroring_attr_t *drop_mirroring_attr_p,
541  const sx_span_drop_reason_t *drop_reason_list_p,
542  const uint32_t drop_reason_cnt);
543 
563 sx_status_t sx_api_span_drop_mirror_get(const sx_api_handle_t handle,
564  const sx_span_session_id_t span_session_id,
565  sx_span_drop_mirroring_attr_t *drop_mirroring_attr_p,
566  sx_span_drop_reason_t *drop_reason_list_p,
567  uint32_t *drop_reason_cnt_p);
568 
589 sx_status_t sx_api_span_mirror_bind_set(const sx_api_handle_t handle,
590  const sx_access_cmd_t cmd,
591  const sx_span_mirror_bind_key_t *key_p,
592  const sx_span_mirror_bind_attr_t *attr_p);
593 
611 sx_status_t sx_api_span_mirror_bind_get(const sx_api_handle_t handle,
612  const sx_span_mirror_bind_key_t *key_p,
613  sx_span_mirror_bind_attr_t *attr_p);
614 
633 sx_status_t sx_api_span_session_mirror_bound_get(const sx_api_handle_t handle,
634  const sx_span_session_id_t span_session_id,
635  sx_span_mirror_bind_key_t *mirror_bind_key_list_p,
636  uint32_t *mirror_bind_key_cnt_p);
637 
654 sx_status_t sx_api_span_mirror_enable_set(const sx_api_handle_t handle,
655  const sx_access_cmd_t cmd,
656  const sx_span_mirror_enable_object_t *object_p,
657  const sx_span_mirror_enable_attr_t *attr_p);
658 
675 sx_status_t sx_api_span_mirror_enable_get(const sx_api_handle_t handle,
676  const sx_span_mirror_enable_object_t *object_p,
677  sx_span_mirror_enable_attr_t *attr_p);
678 
699 sx_status_t sx_api_span_mirror_enable_iter_get(const sx_api_handle_t handle,
700  const sx_access_cmd_t cmd,
701  sx_span_mirror_enable_object_t *object_key_p,
702  sx_span_mirror_enable_iter_filter_t *filter_p,
703  sx_span_mirror_enable_object_t *object_list_p,
704  uint32_t *object_cnt_p);
705 
723 sx_status_t sx_api_span_header_time_stamp_set(const sx_api_handle_t handle,
724  const sx_access_cmd_t cmd,
725  sx_span_hdr_ts_config_t span_ts);
726 
727 #endif /* __SX_API_SPAN_H__ */
sx_api_span_session_analyzer_get
sx_status_t sx_api_span_session_analyzer_get(const sx_api_handle_t handle, const sx_span_session_id_t span_session_id, sx_port_log_id_t *analyzer_port_p)
sx_api_span_mirror_enable_iter_get
sx_status_t sx_api_span_mirror_enable_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, sx_span_mirror_enable_object_t *object_key_p, sx_span_mirror_enable_iter_filter_t *filter_p, sx_span_mirror_enable_object_t *object_list_p, uint32_t *object_cnt_p)
sx_api_span_session_mirror_bound_get
sx_status_t sx_api_span_session_mirror_bound_get(const sx_api_handle_t handle, const sx_span_session_id_t span_session_id, sx_span_mirror_bind_key_t *mirror_bind_key_list_p, uint32_t *mirror_bind_key_cnt_p)
sx_api_span_session_counter_get
sx_status_t sx_api_span_session_counter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_span_session_id_t span_session_id, sx_span_counter_set_t *counter_set_p)
sx_api_span_session_state_set
sx_status_t sx_api_span_session_state_set(const sx_api_handle_t handle, const sx_span_session_id_t span_session_id, const boolean_t admin_state)
sx_api_span_mirror_get
sx_status_t sx_api_span_mirror_get(const sx_api_handle_t handle, const sx_port_log_id_t mirror_port, const sx_mirror_direction_t mirror_direction, sx_span_session_id_t *span_session_id_p)
sx_api_span_session_mirror_get
sx_status_t sx_api_span_session_mirror_get(const sx_api_handle_t handle, const sx_span_session_id_t span_session_id, sx_span_mirror_t *mirror_ports_list_p, uint32_t *mirror_ports_cnt_p)
sx_api_span_mirror_bind_set
sx_status_t sx_api_span_mirror_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_span_mirror_bind_key_t *key_p, const sx_span_mirror_bind_attr_t *attr_p)
sx_api_span_session_get
sx_status_t sx_api_span_session_get(const sx_api_handle_t handle, const sx_span_session_id_t span_session_id, sx_span_session_params_t *span_session_params_p)
sx_api_span_mirror_state_get
sx_status_t sx_api_span_mirror_state_get(const sx_api_handle_t handle, const sx_port_log_id_t mirror_port, const sx_mirror_direction_t mirror_direction, boolean_t *admin_state_p)
sx_api_span_drop_mirror_get
sx_status_t sx_api_span_drop_mirror_get(const sx_api_handle_t handle, const sx_span_session_id_t span_session_id, sx_span_drop_mirroring_attr_t *drop_mirroring_attr_p, sx_span_drop_reason_t *drop_reason_list_p, uint32_t *drop_reason_cnt_p)
sx_api_span_session_state_get
sx_status_t sx_api_span_session_state_get(const sx_api_handle_t handle, const sx_span_session_id_t span_session_id, boolean_t *admin_state_p)
sx_api_span_init_set
sx_status_t sx_api_span_init_set(sx_api_handle_t handle, sx_span_init_params_t *init_params_p)
sx_api_span_log_verbosity_level_set
sx_status_t sx_api_span_log_verbosity_level_set(const sx_api_handle_t handle, const sx_log_verbosity_target_t verbosity_target, const sx_verbosity_level_t module_verbosity_level, const sx_verbosity_level_t api_verbosity_level)
sx_api_span_mirror_tables_set
sx_status_t sx_api_span_mirror_tables_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_span_session_id_t span_session_id)
sx_api_span_mirror_set
sx_status_t sx_api_span_mirror_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_port_log_id_t mirror_port, const sx_mirror_direction_t mirror_direction, const sx_span_session_id_t span_session_id)
sx_api_span_deinit_set
sx_status_t sx_api_span_deinit_set(sx_api_handle_t handle)
sx_api_span_mirror_enable_set
sx_status_t sx_api_span_mirror_enable_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_span_mirror_enable_object_t *object_p, const sx_span_mirror_enable_attr_t *attr_p)
sx_api_span_mirror_enable_get
sx_status_t sx_api_span_mirror_enable_get(const sx_api_handle_t handle, const sx_span_mirror_enable_object_t *object_p, sx_span_mirror_enable_attr_t *attr_p)
sx_api_span_session_set
sx_status_t sx_api_span_session_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_span_session_params_t *span_session_params_p, sx_span_session_id_t *span_session_id_p)
sx_api_span_header_time_stamp_set
sx_status_t sx_api_span_header_time_stamp_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, sx_span_hdr_ts_config_t span_ts)
sx_api_span_drop_mirror_set
sx_status_t sx_api_span_drop_mirror_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_span_session_id_t span_session_id, const sx_span_drop_mirroring_attr_t *drop_mirroring_attr_p, const sx_span_drop_reason_t *drop_reason_list_p, const uint32_t drop_reason_cnt)
sx_api_span_analyzer_get
sx_status_t sx_api_span_analyzer_get(const sx_api_handle_t handle, const sx_port_log_id_t log_port, sx_span_analyzer_port_params_t *port_params_p, sx_span_session_id_t *span_session_id_list_p, uint32_t *span_sessions_cnt_p)
sx_api_span_mirror_tables_get
sx_status_t sx_api_span_mirror_tables_get(const sx_api_handle_t handle, sx_span_session_id_t *span_session_id_p)
sx_api_span_analyzer_set
sx_status_t sx_api_span_analyzer_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_port_log_id_t log_port, const sx_span_analyzer_port_params_t *port_params_p, const sx_span_session_id_t span_session_id)
sx_api_span_log_verbosity_level_get
sx_status_t sx_api_span_log_verbosity_level_get(const sx_api_handle_t handle, const sx_log_verbosity_target_t verbosity_target, sx_verbosity_level_t *module_verbosity_level_p, sx_verbosity_level_t *api_verbosity_level_p)
sx_api_span_mirror_bind_get
sx_status_t sx_api_span_mirror_bind_get(const sx_api_handle_t handle, const sx_span_mirror_bind_key_t *key_p, sx_span_mirror_bind_attr_t *attr_p)
sx_api_span_mirror_state_set
sx_status_t sx_api_span_mirror_state_set(const sx_api_handle_t handle, const sx_port_log_id_t mirror_port, const sx_mirror_direction_t mirror_direction, const boolean_t admin_state)
sx_api_span_session_iter_get
sx_status_t sx_api_span_session_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_span_session_id_t *span_session_key_p, const sx_span_filter_t *filter_p, sx_span_session_id_t *span_session_list_p, uint32_t *span_session_cnt_p)