Mellanox SwitchX SDK API Guide  4.3.2104
sx_api_tunnel.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 #ifndef __SX_API_TUNNEL_H__
18 #define __SX_API_TUNNEL_H__
19 
20 #include <sx/sdk/sx_api.h>
21 #include <sx/sdk/sx_strings.h>
22 
23 /************************************************
24  * API functions
25  ***********************************************/
26 
41 sx_status_t sx_api_tunnel_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 
60 sx_status_t sx_api_tunnel_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 
110 sx_status_t sx_api_tunnel_set(const sx_api_handle_t handle,
111  const sx_access_cmd_t cmd,
112  const sx_tunnel_attribute_t *tunnel_attr_p,
113  sx_tunnel_id_t *tunnel_id_p);
114 
115 
130 sx_status_t sx_api_tunnel_get(const sx_api_handle_t handle,
131  const sx_tunnel_id_t tunnel_id,
132  sx_tunnel_attribute_t *tunnel_attr_p);
133 
149 sx_status_t sx_api_tunnel_counter_get(const sx_api_handle_t handle,
150  const sx_access_cmd_t cmd,
151  const sx_tunnel_id_t tunnel_id,
152  sx_tunnel_counter_t *counter);
153 
177 sx_status_t sx_api_tunnel_decap_rules_set(const sx_api_handle_t handle,
178  const sx_access_cmd_t cmd,
179  const sx_tunnel_decap_entry_key_t *decap_key_p,
180  const sx_tunnel_decap_entry_data_t *decap_data_p);
181 
197 sx_status_t sx_api_tunnel_decap_rules_get(const sx_api_handle_t handle,
198  const sx_tunnel_decap_entry_key_t *decap_key_p,
199  sx_tunnel_decap_entry_data_t *decap_data_p);
200 
215 sx_status_t sx_api_tunnel_init_set(const sx_api_handle_t handle, sx_tunnel_general_params_t *params_p);
216 
226 sx_status_t sx_api_tunnel_deinit_set(const sx_api_handle_t handle);
227 
274 sx_status_t sx_api_tunnel_map_set(const sx_api_handle_t handle,
275  const sx_access_cmd_t cmd,
276  const sx_tunnel_id_t tunnel_id,
277  const sx_tunnel_map_entry_t * map_entries_p,
278  const uint32_t map_entries_cnt);
279 
309 sx_status_t sx_api_tunnel_map_get(const sx_api_handle_t handle,
310  const sx_access_cmd_t cmd,
311  const sx_tunnel_id_t tunnel_id,
312  sx_tunnel_map_entry_t map_entry_key,
313  sx_tunnel_map_entry_t * map_entries_p,
314  uint32_t * map_entries_cnt_p);
315 
339 sx_status_t sx_api_tunnel_ttl_set(const sx_api_handle_t handle,
340  const sx_tunnel_id_t tunnel_id,
341  const sx_tunnel_ttl_data_t *ttl_data_p);
342 
360 sx_status_t sx_api_tunnel_ttl_get(const sx_api_handle_t handle,
361  const sx_tunnel_id_t tunnel_id,
362  sx_tunnel_ttl_data_t *ttl_data_p);
363 
387 sx_status_t sx_api_tunnel_hash_set(const sx_api_handle_t handle,
388  const sx_tunnel_id_t tunnel_id,
389  const sx_tunnel_hash_data_t *hash_data_p);
390 
408 sx_status_t sx_api_tunnel_hash_get(const sx_api_handle_t handle,
409  const sx_tunnel_id_t tunnel_id,
410  sx_tunnel_hash_data_t *hash_data_p);
411 
449 sx_status_t sx_api_tunnel_cos_set(const sx_api_handle_t handle,
450  const sx_tunnel_id_t tunnel_id,
451  const sx_tunnel_cos_data_t *cos_data_p);
470 sx_status_t sx_api_tunnel_cos_get(const sx_api_handle_t handle,
471  const sx_tunnel_id_t tunnel_id,
472  sx_tunnel_cos_data_t *cos_data_p);
473 
541 sx_status_t sx_api_tunnel_iter_get(const sx_api_handle_t handle,
542  const sx_access_cmd_t cmd,
543  const sx_tunnel_id_t tunnel_id,
544  const sx_tunnel_filter_t *filter_p,
545  sx_tunnel_id_t *tunnel_id_list_p,
546  uint32_t *tunnel_id_cnt_p);
547 
548 
549 #endif /* __SX_API_TUNNEL_H__ */
sx_api_tunnel_init_set
sx_status_t sx_api_tunnel_init_set(const sx_api_handle_t handle, sx_tunnel_general_params_t *params_p)
sx_api_tunnel_cos_get
sx_status_t sx_api_tunnel_cos_get(const sx_api_handle_t handle, const sx_tunnel_id_t tunnel_id, sx_tunnel_cos_data_t *cos_data_p)
sx_api_tunnel_hash_get
sx_status_t sx_api_tunnel_hash_get(const sx_api_handle_t handle, const sx_tunnel_id_t tunnel_id, sx_tunnel_hash_data_t *hash_data_p)
sx_api_tunnel_map_set
sx_status_t sx_api_tunnel_map_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_tunnel_id_t tunnel_id, const sx_tunnel_map_entry_t *map_entries_p, const uint32_t map_entries_cnt)
sx_api_tunnel_iter_get
sx_status_t sx_api_tunnel_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_tunnel_id_t tunnel_id, const sx_tunnel_filter_t *filter_p, sx_tunnel_id_t *tunnel_id_list_p, uint32_t *tunnel_id_cnt_p)
sx_api_tunnel_log_verbosity_level_set
sx_status_t sx_api_tunnel_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_tunnel_get
sx_status_t sx_api_tunnel_get(const sx_api_handle_t handle, const sx_tunnel_id_t tunnel_id, sx_tunnel_attribute_t *tunnel_attr_p)
sx_api_tunnel_decap_rules_get
sx_status_t sx_api_tunnel_decap_rules_get(const sx_api_handle_t handle, const sx_tunnel_decap_entry_key_t *decap_key_p, sx_tunnel_decap_entry_data_t *decap_data_p)
sx_api_tunnel_ttl_get
sx_status_t sx_api_tunnel_ttl_get(const sx_api_handle_t handle, const sx_tunnel_id_t tunnel_id, sx_tunnel_ttl_data_t *ttl_data_p)
sx_api_tunnel_deinit_set
sx_status_t sx_api_tunnel_deinit_set(const sx_api_handle_t handle)
sx_api_tunnel_hash_set
sx_status_t sx_api_tunnel_hash_set(const sx_api_handle_t handle, const sx_tunnel_id_t tunnel_id, const sx_tunnel_hash_data_t *hash_data_p)
sx_api_tunnel_set
sx_status_t sx_api_tunnel_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_tunnel_attribute_t *tunnel_attr_p, sx_tunnel_id_t *tunnel_id_p)
sx_api_tunnel_cos_set
sx_status_t sx_api_tunnel_cos_set(const sx_api_handle_t handle, const sx_tunnel_id_t tunnel_id, const sx_tunnel_cos_data_t *cos_data_p)
sx_api_tunnel_log_verbosity_level_get
sx_status_t sx_api_tunnel_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_tunnel_ttl_set
sx_status_t sx_api_tunnel_ttl_set(const sx_api_handle_t handle, const sx_tunnel_id_t tunnel_id, const sx_tunnel_ttl_data_t *ttl_data_p)
sx_api_tunnel_decap_rules_set
sx_status_t sx_api_tunnel_decap_rules_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_tunnel_decap_entry_key_t *decap_key_p, const sx_tunnel_decap_entry_data_t *decap_data_p)
sx_api_tunnel_map_get
sx_status_t sx_api_tunnel_map_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_tunnel_id_t tunnel_id, sx_tunnel_map_entry_t map_entry_key, sx_tunnel_map_entry_t *map_entries_p, uint32_t *map_entries_cnt_p)
sx_api_tunnel_counter_get
sx_status_t sx_api_tunnel_counter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_tunnel_id_t tunnel_id, sx_tunnel_counter_t *counter)