Mellanox SwitchX SDK API Guide  4.3.2104
sx_api_lag.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_LAG_H__
19 #define __SX_API_LAG_H__
20 
21 #include <sx/sdk/sx_api.h>
22 #include <sx/sdk/sx_strings.h>
23 
24 
25 /************************************************
26  * API functions
27  ***********************************************/
28 
42 sx_status_t sx_api_lag_log_verbosity_level_set(const sx_api_handle_t handle,
43  const sx_log_verbosity_target_t verbosity_target,
44  const sx_verbosity_level_t module_verbosity_level,
45  const sx_verbosity_level_t api_verbosity_level);
46 
60 sx_status_t sx_api_lag_log_verbosity_level_get(const sx_api_handle_t handle,
61  const sx_log_verbosity_target_t verbosity_target,
62  sx_verbosity_level_t *module_verbosity_level_p,
63  sx_verbosity_level_t *api_verbosity_level_p);
64 
89 sx_status_t sx_api_lag_port_group_set(const sx_api_handle_t handle,
90  const sx_access_cmd_t cmd,
91  const sx_swid_t swid,
92  sx_port_log_id_t *lag_log_port_p,
93  const sx_port_log_id_t *log_port_list_p,
94  const uint32_t log_port_cnt);
95 
115 sx_status_t sx_api_lag_port_group_get(const sx_api_handle_t handle,
116  const sx_swid_t swid,
117  const sx_port_log_id_t lag_log_port,
118  sx_port_log_id_t *log_port_list_p,
119  uint32_t *log_port_cnt_p);
120 
121 
186 sx_status_t sx_api_lag_port_group_iter_get(const sx_api_handle_t handle,
187  const sx_access_cmd_t cmd,
188  const sx_swid_t swid,
189  const sx_port_log_id_t lag_id,
190  const sx_lag_filter_t *filter_p,
191  sx_port_log_id_t *lag_id_list_p,
192  uint32_t *lag_id_cnt_p);
193 
194 
212 sx_status_t sx_api_lag_port_collector_set(const sx_api_handle_t handle,
213  const sx_port_log_id_t lag_log_port,
214  const sx_port_log_id_t log_port,
215  const sx_collector_mode_t collector_mode);
216 
217 
236 sx_status_t sx_api_lag_port_collector_get(const sx_api_handle_t handle,
237  const sx_port_log_id_t lag_log_port,
238  const sx_port_log_id_t log_port,
239  sx_collector_mode_t *collector_mode_p);
240 
258 sx_status_t sx_api_lag_port_distributor_set(const sx_api_handle_t handle,
259  const sx_port_log_id_t lag_log_port,
260  const sx_port_log_id_t log_port,
261  const sx_distributor_mode_t distributor_mode);
262 
263 
282 sx_status_t sx_api_lag_port_distributor_get(const sx_api_handle_t handle,
283  const sx_port_log_id_t lag_log_port,
284  const sx_port_log_id_t log_port,
285  sx_distributor_mode_t *distributor_mode_p);
286 
301 sx_status_t sx_api_lag_hash_flow_params_set(const sx_api_handle_t handle,
302  const sx_lag_hash_param_t *lag_hash_param_p);
303 
304 
336 sx_status_t sx_api_lag_port_hash_flow_params_set(const sx_api_handle_t handle,
337  const sx_access_cmd_t cmd,
338  const sx_port_log_id_t log_port,
339  const sx_lag_port_hash_params_t *hash_params_p,
340  const sx_lag_hash_field_enable_t *hash_field_enable_list_p,
341  const uint32_t hash_field_enable_list_cnt,
342  const sx_lag_hash_field_t *hash_field_list_p,
343  const uint32_t hash_field_list_cnt);
344 
345 
357 sx_status_t sx_api_lag_hash_flow_params_get(const sx_api_handle_t handle,
358  sx_lag_hash_param_t *lag_hash_param_p);
359 
380 sx_status_t sx_api_lag_port_hash_flow_params_get(const sx_api_handle_t handle,
381  const sx_port_log_id_t log_port,
382  sx_lag_port_hash_params_t *lag_hash_params_p,
383  sx_lag_hash_field_enable_t *hash_field_enable_list_p,
384  uint32_t *hash_field_enable_list_cnt_p,
385  sx_lag_hash_field_t *hash_field_list_p,
386  uint32_t *hash_field_list_cnt_p);
387 
412 sx_status_t sx_api_lag_redirect_set(const sx_api_handle_t handle,
413  const sx_access_cmd_t cmd,
414  const sx_port_log_id_t lag_log_port,
415  const sx_port_log_id_t redirect_lag_log_port);
416 
435 sx_status_t sx_api_lag_redirect_get(const sx_api_handle_t handle,
436  const sx_port_log_id_t lag_log_port,
437  boolean_t *is_redirected_p,
438  sx_port_log_id_t *redirected_lag_log_port_p);
439 
457 sx_status_t sx_api_lag_redirected_lags_get(const sx_api_handle_t handle,
458  const sx_port_log_id_t lag_log_port,
459  sx_port_log_id_t *lag_log_port_list_p,
460  uint32_t *lag_log_port_cnt_p);
461 
493 sx_status_t sx_api_lag_distributer_list_set(const sx_api_handle_t handle,
494  const sx_access_cmd_t access_cmd,
495  const sx_port_log_id_t lag_log_port,
496  const sx_lag_fine_grain_params_t *params_p,
497  const sx_lag_fine_grain_member_t *port_list_p,
498  const uint32_t port_cnt);
499 
515 sx_status_t sx_api_lag_distributer_list_get(const sx_api_handle_t handle,
516  const sx_port_log_id_t lag_log_port,
517  sx_lag_fine_grain_params_t *params_p,
518  sx_lag_fine_grain_member_t *port_list_p,
519  uint32_t *port_cnt_p);
520 
521 
522 #endif /* __SX_API_LAG_H__ */
sx_api_lag_redirect_get
sx_status_t sx_api_lag_redirect_get(const sx_api_handle_t handle, const sx_port_log_id_t lag_log_port, boolean_t *is_redirected_p, sx_port_log_id_t *redirected_lag_log_port_p)
sx_api_lag_redirected_lags_get
sx_status_t sx_api_lag_redirected_lags_get(const sx_api_handle_t handle, const sx_port_log_id_t lag_log_port, sx_port_log_id_t *lag_log_port_list_p, uint32_t *lag_log_port_cnt_p)
sx_api_lag_log_verbosity_level_get
sx_status_t sx_api_lag_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_lag_port_distributor_get
sx_status_t sx_api_lag_port_distributor_get(const sx_api_handle_t handle, const sx_port_log_id_t lag_log_port, const sx_port_log_id_t log_port, sx_distributor_mode_t *distributor_mode_p)
sx_api_lag_distributer_list_get
sx_status_t sx_api_lag_distributer_list_get(const sx_api_handle_t handle, const sx_port_log_id_t lag_log_port, sx_lag_fine_grain_params_t *params_p, sx_lag_fine_grain_member_t *port_list_p, uint32_t *port_cnt_p)
sx_api_lag_port_distributor_set
sx_status_t sx_api_lag_port_distributor_set(const sx_api_handle_t handle, const sx_port_log_id_t lag_log_port, const sx_port_log_id_t log_port, const sx_distributor_mode_t distributor_mode)
sx_api_lag_hash_flow_params_set
sx_status_t sx_api_lag_hash_flow_params_set(const sx_api_handle_t handle, const sx_lag_hash_param_t *lag_hash_param_p)
sx_api_lag_port_group_set
sx_status_t sx_api_lag_port_group_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, sx_port_log_id_t *lag_log_port_p, const sx_port_log_id_t *log_port_list_p, const uint32_t log_port_cnt)
sx_api_lag_redirect_set
sx_status_t sx_api_lag_redirect_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_port_log_id_t lag_log_port, const sx_port_log_id_t redirect_lag_log_port)
sx_api_lag_hash_flow_params_get
sx_status_t sx_api_lag_hash_flow_params_get(const sx_api_handle_t handle, sx_lag_hash_param_t *lag_hash_param_p)
sx_api_lag_port_group_iter_get
sx_status_t sx_api_lag_port_group_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_port_log_id_t lag_id, const sx_lag_filter_t *filter_p, sx_port_log_id_t *lag_id_list_p, uint32_t *lag_id_cnt_p)
sx_api_lag_port_collector_set
sx_status_t sx_api_lag_port_collector_set(const sx_api_handle_t handle, const sx_port_log_id_t lag_log_port, const sx_port_log_id_t log_port, const sx_collector_mode_t collector_mode)
sx_api_lag_port_hash_flow_params_get
sx_status_t sx_api_lag_port_hash_flow_params_get(const sx_api_handle_t handle, const sx_port_log_id_t log_port, sx_lag_port_hash_params_t *lag_hash_params_p, sx_lag_hash_field_enable_t *hash_field_enable_list_p, uint32_t *hash_field_enable_list_cnt_p, sx_lag_hash_field_t *hash_field_list_p, uint32_t *hash_field_list_cnt_p)
sx_api_lag_port_hash_flow_params_set
sx_status_t sx_api_lag_port_hash_flow_params_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_port_log_id_t log_port, const sx_lag_port_hash_params_t *hash_params_p, const sx_lag_hash_field_enable_t *hash_field_enable_list_p, const uint32_t hash_field_enable_list_cnt, const sx_lag_hash_field_t *hash_field_list_p, const uint32_t hash_field_list_cnt)
sx_api_lag_port_group_get
sx_status_t sx_api_lag_port_group_get(const sx_api_handle_t handle, const sx_swid_t swid, const sx_port_log_id_t lag_log_port, sx_port_log_id_t *log_port_list_p, uint32_t *log_port_cnt_p)
sx_api_lag_port_collector_get
sx_status_t sx_api_lag_port_collector_get(const sx_api_handle_t handle, const sx_port_log_id_t lag_log_port, const sx_port_log_id_t log_port, sx_collector_mode_t *collector_mode_p)
sx_api_lag_log_verbosity_level_set
sx_status_t sx_api_lag_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_lag_distributer_list_set
sx_status_t sx_api_lag_distributer_list_set(const sx_api_handle_t handle, const sx_access_cmd_t access_cmd, const sx_port_log_id_t lag_log_port, const sx_lag_fine_grain_params_t *params_p, const sx_lag_fine_grain_member_t *port_list_p, const uint32_t port_cnt)