Mellanox SwitchX SDK API Guide  4.3.2104
sx_api_host_ifc.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 
19 #ifndef __SX_API_HOST_IFC_H__
20 #define __SX_API_HOST_IFC_H__
21 
22 /*
23  * Retry macro to be used with uninterruptible POSIX operations
24  */
25 #define POSIX_EINTR_RETRY(ret_value, op) \
26  do { \
27  ret_value = op; \
28  } while (((ret_value) == -1) && (errno == EINTR))
29 
30 #include <sx/sdk/sx_api.h>
31 #include <sx/sdk/sx_strings.h>
32 
46 sx_status_t sx_api_host_ifc_log_verbosity_level_set(const sx_api_handle_t handle,
47  const sx_log_verbosity_target_t verbosity_target,
48  const sx_verbosity_level_t module_verbosity_level,
49  const sx_verbosity_level_t api_verbosity_level);
50 
64 sx_status_t sx_api_host_ifc_log_verbosity_level_get(const sx_api_handle_t handle,
65  const sx_log_verbosity_target_t verbosity_target,
66  sx_verbosity_level_t *module_verbosity_level_p,
67  sx_verbosity_level_t *api_verbosity_level_p);
68 
84 sx_status_t sx_api_host_ifc_open(const sx_api_handle_t handle,
85  sx_fd_t *fd_p);
86 
100 sx_status_t sx_api_host_ifc_close(const sx_api_handle_t handle,
101  sx_fd_t *fd_p);
102 
126 sx_status_t sx_api_host_ifc_trap_group_set(const sx_api_handle_t handle,
127  const sx_swid_id_t swid,
128  const sx_trap_group_t trap_group,
129  const sx_trap_group_attributes_t* trap_group_attributes_p);
130 
165 sx_status_t sx_api_host_ifc_trap_group_ext_set(const sx_api_handle_t handle,
166  const sx_access_cmd_t cmd,
167  const sx_swid_id_t swid,
168  const sx_trap_group_t trap_group,
169  const sx_trap_group_attributes_t* trap_group_attributes_p);
170 
171 
188 sx_status_t sx_api_host_ifc_trap_group_get(const sx_api_handle_t handle,
189  const sx_swid_id_t swid,
190  const sx_trap_group_t trap_group,
191  sx_trap_group_attributes_t * trap_group_attributes_p);
192 
257 sx_status_t sx_api_host_ifc_trap_group_iter_get(const sx_api_handle_t handle,
258  const sx_access_cmd_t cmd,
259  const sx_swid_id_t swid,
260  const sx_trap_group_t trap_group_id,
261  const sx_trap_group_filter_t *filter_p,
262  sx_trap_group_t *trap_group_id_list_p,
263  uint32_t *trap_group_id_cnt_p);
264 
265 
290 sx_status_t sx_api_host_ifc_trap_id_set(const sx_api_handle_t handle,
291  const sx_swid_t swid,
292  const sx_trap_id_t trap_id,
293  const sx_trap_group_t trap_group,
294  const sx_trap_action_t trap_action);
295 
317 sx_status_t sx_api_host_ifc_trap_id_ext_set(const sx_api_handle_t handle,
318  const sx_access_cmd_t cmd,
319  const sx_host_ifc_trap_key_t *trap_key_p,
320  const sx_host_ifc_trap_attr_t *trap_attr_p);
321 
341 sx_status_t sx_api_host_ifc_trap_id_ext_get(const sx_api_handle_t handle,
342  const sx_access_cmd_t cmd,
343  const sx_host_ifc_trap_key_t *trap_key_p,
344  sx_host_ifc_trap_attr_t *trap_attr_p,
345  uint32_t *attr_cnt_p);
346 
363 sx_status_t sx_api_host_ifc_trap_group_stat_get(const sx_api_handle_t handle,
364  const sx_access_cmd_t cmd,
365  const sx_host_ifc_trap_group_key_t *group_key_p,
366  sx_host_ifc_trap_group_stat_t *group_stat_p);
367 
388 sx_status_t sx_api_host_ifc_user_defined_trap_id_set(const sx_api_handle_t handle,
389  const sx_access_cmd_t cmd,
390  const sx_swid_t swid,
391  const sx_trap_id_t trap_id,
392  sx_trap_id_user_defined_attributes_t *trap_attributes_p);
393 
416 sx_status_t sx_api_host_ifc_trap_id_register_set(const sx_api_handle_t handle,
417  const sx_access_cmd_t cmd,
418  const sx_swid_t swid,
419  const sx_trap_id_t trap_id,
420  const sx_user_channel_t *user_channel_p);
421 
457 sx_status_t sx_api_host_ifc_trap_id_register_get(const sx_api_handle_t handle,
458  const sx_access_cmd_t cmd,
459  const sx_swid_t swid,
460  const sx_trap_id_t trap_id,
461  const sx_user_channel_t *user_channel,
462  sx_user_channel_t *user_channel_list_p,
463  uint32_t *user_channel_cnt_p);
464 
486 sx_status_t sx_api_host_ifc_port_vlan_trap_id_register_set(const sx_api_handle_t handle,
487  const sx_access_cmd_t cmd,
488  const sx_swid_t swid,
489  const sx_trap_id_t trap_id,
490  const sx_host_ifc_register_key_t *register_key_p,
491  const sx_user_channel_t *user_channel_p);
492 
528 sx_status_t sx_api_host_ifc_port_vlan_trap_id_register_get(const sx_api_handle_t handle,
529  const sx_access_cmd_t cmd,
530  const sx_swid_t swid,
531  const sx_trap_id_t trap_id,
532  const sx_host_ifc_register_get_entry_t *register_entry,
533  sx_host_ifc_register_get_entry_t *register_entry_list_p,
534  uint32_t *register_entry_cnt_p);
535 
561 sx_status_t sx_api_host_ifc_trap_filter_set(const sx_api_handle_t handle,
562  const sx_access_cmd_t cmd,
563  const sx_swid_t swid,
564  const sx_trap_id_t trap_id,
565  sx_port_log_id_t *log_port_list_p,
566  uint32_t *log_port_cnt_p);
567 
604 sx_status_t sx_api_host_ifc_trap_filter_get(const sx_api_handle_t handle,
605  const sx_access_cmd_t cmd,
606  const sx_swid_t swid,
607  const sx_trap_id_t trap_id,
608  const sx_port_log_id_t log_port_id,
609  sx_port_log_id_t *log_port_list_p,
610  uint32_t *log_port_cnt_p);
611 
630 sx_status_t sx_api_host_ifc_policer_bind_set(const sx_api_handle_t handle,
631  const sx_access_cmd_t cmd,
632  const sx_swid_t swid,
633  const sx_trap_group_t trap_group,
634  const sx_policer_id_t policer_id);
635 
651 sx_status_t sx_api_host_ifc_policer_bind_get(const sx_api_handle_t handle,
652  const sx_swid_t swid,
653  const sx_trap_group_t trap_group,
654  sx_policer_id_t *policer_id);
655 
670 sx_status_t sx_api_host_ifc_counters_get(const sx_api_handle_t handle,
671  const sx_access_cmd_t cmd,
672  const sx_host_ifc_counters_filter_t *filter_p,
673  sx_host_ifc_counters_t *host_ifc_cnt_p);
674 
675 #endif /* __SX_API_HOST_IFC_H__ */
sx_api_host_ifc_trap_group_stat_get
sx_status_t sx_api_host_ifc_trap_group_stat_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_host_ifc_trap_group_key_t *group_key_p, sx_host_ifc_trap_group_stat_t *group_stat_p)
sx_api_host_ifc_trap_id_register_get
sx_status_t sx_api_host_ifc_trap_id_register_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_id_t trap_id, const sx_user_channel_t *user_channel, sx_user_channel_t *user_channel_list_p, uint32_t *user_channel_cnt_p)
sx_api_host_ifc_user_defined_trap_id_set
sx_status_t sx_api_host_ifc_user_defined_trap_id_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_id_t trap_id, sx_trap_id_user_defined_attributes_t *trap_attributes_p)
sx_api_host_ifc_trap_group_iter_get
sx_status_t sx_api_host_ifc_trap_group_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_id_t swid, const sx_trap_group_t trap_group_id, const sx_trap_group_filter_t *filter_p, sx_trap_group_t *trap_group_id_list_p, uint32_t *trap_group_id_cnt_p)
sx_api_host_ifc_trap_id_ext_set
sx_status_t sx_api_host_ifc_trap_id_ext_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_host_ifc_trap_key_t *trap_key_p, const sx_host_ifc_trap_attr_t *trap_attr_p)
sx_api_host_ifc_trap_id_set
sx_status_t sx_api_host_ifc_trap_id_set(const sx_api_handle_t handle, const sx_swid_t swid, const sx_trap_id_t trap_id, const sx_trap_group_t trap_group, const sx_trap_action_t trap_action)
sx_api_host_ifc_port_vlan_trap_id_register_set
sx_status_t sx_api_host_ifc_port_vlan_trap_id_register_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_id_t trap_id, const sx_host_ifc_register_key_t *register_key_p, const sx_user_channel_t *user_channel_p)
sx_api_host_ifc_trap_filter_set
sx_status_t sx_api_host_ifc_trap_filter_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_id_t trap_id, sx_port_log_id_t *log_port_list_p, uint32_t *log_port_cnt_p)
sx_api_host_ifc_policer_bind_set
sx_status_t sx_api_host_ifc_policer_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_group_t trap_group, const sx_policer_id_t policer_id)
sx_api_host_ifc_log_verbosity_level_set
sx_status_t sx_api_host_ifc_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_host_ifc_trap_filter_get
sx_status_t sx_api_host_ifc_trap_filter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_id_t trap_id, const sx_port_log_id_t log_port_id, sx_port_log_id_t *log_port_list_p, uint32_t *log_port_cnt_p)
sx_api_host_ifc_counters_get
sx_status_t sx_api_host_ifc_counters_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_host_ifc_counters_filter_t *filter_p, sx_host_ifc_counters_t *host_ifc_cnt_p)
sx_api_host_ifc_trap_group_set
sx_status_t sx_api_host_ifc_trap_group_set(const sx_api_handle_t handle, const sx_swid_id_t swid, const sx_trap_group_t trap_group, const sx_trap_group_attributes_t *trap_group_attributes_p)
sx_api_host_ifc_close
sx_status_t sx_api_host_ifc_close(const sx_api_handle_t handle, sx_fd_t *fd_p)
sx_api_host_ifc_trap_id_ext_get
sx_status_t sx_api_host_ifc_trap_id_ext_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_host_ifc_trap_key_t *trap_key_p, sx_host_ifc_trap_attr_t *trap_attr_p, uint32_t *attr_cnt_p)
sx_api_host_ifc_trap_group_ext_set
sx_status_t sx_api_host_ifc_trap_group_ext_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_id_t swid, const sx_trap_group_t trap_group, const sx_trap_group_attributes_t *trap_group_attributes_p)
sx_api_host_ifc_port_vlan_trap_id_register_get
sx_status_t sx_api_host_ifc_port_vlan_trap_id_register_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_id_t trap_id, const sx_host_ifc_register_get_entry_t *register_entry, sx_host_ifc_register_get_entry_t *register_entry_list_p, uint32_t *register_entry_cnt_p)
sx_api_host_ifc_trap_group_get
sx_status_t sx_api_host_ifc_trap_group_get(const sx_api_handle_t handle, const sx_swid_id_t swid, const sx_trap_group_t trap_group, sx_trap_group_attributes_t *trap_group_attributes_p)
sx_api_host_ifc_log_verbosity_level_get
sx_status_t sx_api_host_ifc_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_host_ifc_open
sx_status_t sx_api_host_ifc_open(const sx_api_handle_t handle, sx_fd_t *fd_p)
sx_api_host_ifc_trap_id_register_set
sx_status_t sx_api_host_ifc_trap_id_register_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_swid_t swid, const sx_trap_id_t trap_id, const sx_user_channel_t *user_channel_p)
sx_api_host_ifc_policer_bind_get
sx_status_t sx_api_host_ifc_policer_bind_get(const sx_api_handle_t handle, const sx_swid_t swid, const sx_trap_group_t trap_group, sx_policer_id_t *policer_id)