Mellanox SwitchX SDK API Guide  4.3.2104
sx_api_bridge.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_BRIDGE_H__
19 #define __SX_API_BRIDGE_H__
20 
21 #include <sx/sdk/sx_api.h>
22 #include <sx/sdk/sx_strings.h>
23 
24 
25 /************************************************
26  * Local Defines
27  ***********************************************/
28 
29 /************************************************
30  * Local Macros
31  ***********************************************/
32 
33 /************************************************
34  * Local Type definitions
35  ***********************************************/
36 
37 /************************************************
38  * Defines
39  ***********************************************/
40 
41 /************************************************
42  * Macros
43  ***********************************************/
44 
45 /************************************************
46  * Type definitions
47  ***********************************************/
48 
49 /************************************************
50  * Global variables
51  ***********************************************/
52 
53 /************************************************
54  * Function declarations
55  ***********************************************/
56 
57 /************************************************
58  * API functions
59  ***********************************************/
60 
74 sx_status_t sx_api_bridge_log_verbosity_level_set(const sx_api_handle_t handle,
75  const sx_log_verbosity_target_t verbosity_target,
76  const sx_verbosity_level_t module_verbosity_level,
77  const sx_verbosity_level_t api_verbosity_level);
78 
92 sx_status_t sx_api_bridge_log_verbosity_level_get(const sx_api_handle_t handle,
93  const sx_log_verbosity_target_t verbosity_target,
94  sx_verbosity_level_t *module_verbosity_level_p,
95  sx_verbosity_level_t *api_verbosity_level_p);
96 
106 sx_status_t sx_api_bridge_set(const sx_api_handle_t handle,
107  const sx_access_cmd_t cmd,
108  sx_bridge_id_t *bridge_id_p);
109 
170 sx_status_t sx_api_bridge_iter_get(const sx_api_handle_t handle,
171  const sx_access_cmd_t cmd,
172  const sx_bridge_id_t bridge_id,
173  const sx_bridge_filter_t *filter_p,
174  sx_bridge_id_t *bridge_id_list_p,
175  uint32_t *bridge_id_cnt_p);
176 
195 sx_status_t sx_api_bridge_port_set(const sx_api_handle_t handle,
196  const sx_access_cmd_t cmd,
197  const sx_bridge_id_t bridge_id,
198  const sx_port_log_id_t log_port,
199  const sx_vlan_id_t vlan,
200  const sx_untagged_member_state_t egress_mode);
201 
216 sx_status_t sx_api_bridge_port_get(const sx_api_handle_t handle,
217  const sx_bridge_id_t bridge_id,
218  sx_bridge_port_t *bridge_port_list_p,
219  uint32_t *bridge_port_cnt_p);
220 
235 sx_status_t sx_api_bridge_vport_set(const sx_api_handle_t handle,
236  const sx_access_cmd_t cmd,
237  const sx_bridge_id_t bridge_id,
238  const sx_port_log_id_t log_port);
239 
255 sx_status_t sx_api_bridge_vport_get(const sx_api_handle_t handle,
256  const sx_bridge_id_t bridge_id,
257  sx_port_log_id_t *bridge_vport_list_p,
258  uint32_t *bridge_vport_cnt_p);
259 
276 sx_status_t sx_api_bridge_vport_multi_set(const sx_api_handle_t handle,
277  const sx_access_cmd_t cmd,
278  const sx_bridge_id_t *bridge_id_list,
279  const sx_port_log_id_t *log_port_list,
280  uint32_t list_cnt);
281 
296 sx_status_t sx_api_bridge_counter_bind_set(const sx_api_handle_t handle,
297  const sx_access_cmd_t cmd,
298  const sx_bridge_id_t bridge_id,
299  const sx_flow_counter_id_t flow_counter_id);
300 
316 sx_status_t sx_api_bridge_counter_bind_get(const sx_api_handle_t handle,
317  const sx_bridge_id_t bridge_id,
318  sx_flow_counter_id_t* flow_counter_id_p);
319 
335 sx_status_t sx_api_bridge_mirror_set(const sx_api_handle_t handle,
336  const sx_bridge_id_t bridge_id,
337  const sx_mirror_direction_t mirror_direction,
338  const sx_mirror_mode_t mirror_mode);
339 
355 sx_status_t sx_api_bridge_mirror_get(const sx_api_handle_t handle,
356  const sx_bridge_id_t bridge_id,
357  const sx_mirror_direction_t mirror_direction,
358  sx_mirror_mode_t *mirror_mode_p);
359 
382 sx_status_t sx_api_bridge_tunnel_counter_bind_set(const sx_api_handle_t handle,
383  const sx_access_cmd_t cmd,
384  const sx_bridge_id_t bridge_id,
385  const sx_bridge_tunnel_counter_attr_t *counter_attr_p,
386  const sx_flow_counter_id_t counter_id);
387 
403 sx_status_t sx_api_bridge_tunnel_counter_bind_get(const sx_api_handle_t handle,
404  const sx_bridge_id_t bridge_id,
405  const sx_bridge_tunnel_counter_attr_t *counter_attr_p,
406  sx_flow_counter_id_t *counter_id_p);
407 
408 #endif /* __SX_API_BRIDGE_H__ */
sx_api_bridge_set
sx_status_t sx_api_bridge_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, sx_bridge_id_t *bridge_id_p)
sx_api_bridge_port_get
sx_status_t sx_api_bridge_port_get(const sx_api_handle_t handle, const sx_bridge_id_t bridge_id, sx_bridge_port_t *bridge_port_list_p, uint32_t *bridge_port_cnt_p)
sx_api_bridge_mirror_set
sx_status_t sx_api_bridge_mirror_set(const sx_api_handle_t handle, const sx_bridge_id_t bridge_id, const sx_mirror_direction_t mirror_direction, const sx_mirror_mode_t mirror_mode)
sx_api_bridge_vport_multi_set
sx_status_t sx_api_bridge_vport_multi_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_bridge_id_t *bridge_id_list, const sx_port_log_id_t *log_port_list, uint32_t list_cnt)
sx_api_bridge_vport_get
sx_status_t sx_api_bridge_vport_get(const sx_api_handle_t handle, const sx_bridge_id_t bridge_id, sx_port_log_id_t *bridge_vport_list_p, uint32_t *bridge_vport_cnt_p)
sx_api_bridge_counter_bind_set
sx_status_t sx_api_bridge_counter_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_bridge_id_t bridge_id, const sx_flow_counter_id_t flow_counter_id)
sx_api_bridge_log_verbosity_level_get
sx_status_t sx_api_bridge_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_bridge_port_set
sx_status_t sx_api_bridge_port_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_bridge_id_t bridge_id, const sx_port_log_id_t log_port, const sx_vlan_id_t vlan, const sx_untagged_member_state_t egress_mode)
sx_api_bridge_tunnel_counter_bind_set
sx_status_t sx_api_bridge_tunnel_counter_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_bridge_id_t bridge_id, const sx_bridge_tunnel_counter_attr_t *counter_attr_p, const sx_flow_counter_id_t counter_id)
sx_api_bridge_mirror_get
sx_status_t sx_api_bridge_mirror_get(const sx_api_handle_t handle, const sx_bridge_id_t bridge_id, const sx_mirror_direction_t mirror_direction, sx_mirror_mode_t *mirror_mode_p)
sx_api_bridge_vport_set
sx_status_t sx_api_bridge_vport_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_bridge_id_t bridge_id, const sx_port_log_id_t log_port)
sx_api_bridge_counter_bind_get
sx_status_t sx_api_bridge_counter_bind_get(const sx_api_handle_t handle, const sx_bridge_id_t bridge_id, sx_flow_counter_id_t *flow_counter_id_p)
sx_api_bridge_tunnel_counter_bind_get
sx_status_t sx_api_bridge_tunnel_counter_bind_get(const sx_api_handle_t handle, const sx_bridge_id_t bridge_id, const sx_bridge_tunnel_counter_attr_t *counter_attr_p, sx_flow_counter_id_t *counter_id_p)
sx_api_bridge_log_verbosity_level_set
sx_status_t sx_api_bridge_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_bridge_iter_get
sx_status_t sx_api_bridge_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_bridge_id_t bridge_id, const sx_bridge_filter_t *filter_p, sx_bridge_id_t *bridge_id_list_p, uint32_t *bridge_id_cnt_p)