|
Mellanox SwitchX SDK API Guide
4.3.2104
|
Go to the documentation of this file. 19 #ifndef __SX_API_ROUTER_H__ 20 #define __SX_API_ROUTER_H__ 22 #include <sx/sdk/sx_api.h> 23 #include <sx/sdk/sx_strings.h> 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);
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);
79 const sx_router_ecmp_hash_params_t *ecmp_hash_params_p);
107 const sx_access_cmd_t cmd,
108 const sx_port_log_id_t log_port,
109 const sx_router_ecmp_port_hash_params_t *ecmp_hash_params_p,
110 const sx_router_ecmp_hash_field_enable_t *hash_field_enable_list_p,
111 const uint32_t hash_field_enable_list_cnt,
112 const sx_router_ecmp_hash_field_t *hash_field_list_p,
113 const uint32_t hash_field_list_cnt);
128 sx_router_ecmp_hash_params_t *ecmp_hash_params_p);
150 const sx_port_log_id_t log_port,
151 sx_router_ecmp_port_hash_params_t *ecmp_hash_params_p,
152 sx_router_ecmp_hash_field_enable_t *hash_field_enable_list_p,
153 uint32_t *hash_field_enable_list_cnt_p,
154 sx_router_ecmp_hash_field_t *hash_field_list_p,
155 uint32_t *hash_field_list_cnt_p);
180 const sx_router_general_param_t *general_params_p,
181 const sx_router_resources_param_t *router_resource_p);
224 const sx_access_cmd_t cmd,
225 const sx_router_attributes_t *router_attr,
226 sx_router_id_t *vrid);
243 const sx_router_id_t vrid,
244 sx_router_attributes_t *router_attr);
274 const sx_access_cmd_t cmd,
275 const sx_router_id_t vrid_key,
276 const sx_vrid_filter_t *vrid_filter_p,
277 sx_router_id_t *vrid_list_p,
278 uint32_t *vrid_cnt_p);
327 const sx_access_cmd_t cmd,
328 const sx_router_id_t vrid,
329 const sx_router_interface_param_t *ifc_p,
330 const sx_interface_attributes_t *ifc_attr_p,
331 sx_router_interface_t *rif_p);
353 const sx_router_interface_t rif,
354 sx_router_id_t *vrid_p,
355 sx_router_interface_param_t *ifc_p,
356 sx_interface_attributes_t *ifc_attr_p);
429 const sx_access_cmd_t cmd,
430 const sx_router_interface_t *rif_key_p,
431 const sx_rif_filter_t *filter_p,
432 sx_router_interface_t *rif_list_p,
433 uint32_t *rif_cnt_p);
451 const sx_router_interface_t rif,
452 const sx_router_interface_state_t *rif_state_p);
470 const sx_router_interface_t rif,
471 sx_router_interface_state_t *rif_state_p);
491 const sx_access_cmd_t cmd,
492 const sx_router_interface_t rif,
493 const sx_mac_addr_t *mac_addr_list_p,
494 const uint32_t mac_addr_cnt);
513 const sx_router_interface_t rif,
514 sx_mac_addr_t *mac_addr_list_p,
515 uint32_t * mac_addr_cnt_p);
555 const sx_access_cmd_t cmd,
556 const sx_router_interface_t rif,
557 const sx_ip_addr_t *ip_addr_p,
558 const sx_neigh_data_t *neigh_data_p);
599 const sx_access_cmd_t cmd,
600 const sx_router_interface_t rif,
601 const sx_ip_addr_t * neigh_key_p,
602 const sx_neigh_filter_t * filter_p,
603 sx_neigh_get_entry_t *neigh_entry_list_p,
604 uint32_t * neigh_entry_cnt_p);
625 const sx_access_cmd_t cmd,
626 const sx_router_interface_t rif,
627 const sx_ip_addr_t * ip_addr_p,
628 boolean_t *activity_p);
667 const sx_access_cmd_t cmd,
668 const sx_router_id_t vrid,
669 const sx_ip_prefix_t *network_addr,
670 sx_uc_route_data_t *uc_route_data_p);
716 const sx_access_cmd_t cmd,
717 const sx_router_id_t vrid,
718 const sx_ip_prefix_t *network_addr,
719 sx_uc_route_key_filter_t *filter_p,
720 sx_uc_route_get_entry_t *uc_route_get_entries_list_p,
721 uint32_t *uc_route_get_entries_cnt_p);
740 const sx_router_id_t vrid,
741 const sx_ip_prefix_t *network_addr_p,
742 sx_uc_route_get_entry_t *oper_uc_route_entries_p);
763 const sx_access_cmd_t cmd,
764 const sx_router_id_t vrid,
765 const sx_ip_prefix_t *network_addr_p,
766 const sx_flow_counter_id_t counter_id);
787 const sx_router_id_t vrid,
788 const sx_ip_prefix_t *network_addr_p,
789 sx_flow_counter_id_t *counter_id_p);
807 const sx_access_cmd_t cmd,
808 sx_router_counter_id_t *counter_p);
827 const sx_access_cmd_t cmd,
828 const sx_router_counter_attributes_t cntr_attributes,
829 sx_router_counter_id_t *counter_p);
848 const sx_access_cmd_t cmd,
849 const sx_router_counter_id_t counter,
850 const sx_router_interface_t rif);
868 const sx_router_counter_id_t counter,
869 sx_router_interface_t *rif_p);
902 const sx_access_cmd_t cmd,
903 const sx_router_counter_id_t counter,
904 sx_router_counter_set_t *counter_set_p);
924 const sx_access_cmd_t cmd,
925 const sx_router_counter_id_t counter_id,
926 sx_router_counter_set_extended_t *counter_data_p);
943 const sx_router_counter_id_t counter,
944 const boolean_t all);
990 const sx_access_cmd_t cmd,
991 const sx_router_id_t vrid,
992 const sx_mc_route_key_t * mc_route_key_p,
993 const sx_mc_route_attributes_t * mc_route_attr_p,
994 const sx_mc_route_data_t * mc_route_data_p);
1044 const sx_access_cmd_t cmd,
1045 const sx_router_id_t vrid,
1046 const sx_mc_route_key_t * mc_route_key_p,
1047 sx_mc_route_key_filter_t *filter_p,
1048 sx_mc_route_get_entry_t *mc_route_get_entries_list_p,
1049 uint32_t *mc_route_get_entries_cnt_p);
1069 const sx_access_cmd_t cmd,
1070 const sx_router_id_t vrid,
1071 const sx_mc_route_key_t * mc_route_key_p,
1072 boolean_t *activity_p);
1087 const sx_access_cmd_t cmd,
1088 const sx_mc_route_activity_notify_filter_t *filter_p);
1117 const sx_access_cmd_t cmd,
1118 const sx_router_id_t vrid,
1119 const sx_mc_route_key_t *mc_route_key_p,
1120 const sx_router_interface_t *egress_rif_list_p,
1121 const uint32_t egress_rif_cnt);
1147 const sx_router_id_t vrid,
1148 const sx_mc_route_key_t *mc_route_key_p,
1149 sx_router_interface_t *egress_rif_list_p,
1150 uint32_t *egress_rif_cnt);
1167 const sx_cos_pcp_dei_rewrite_e rewrite_pcp_dei);
1184 sx_cos_pcp_dei_rewrite_e *rewrite_pcp_dei_p);
1201 const boolean_t update_priority_color);
1219 boolean_t *update_priority_color_p);
1238 const sx_cos_dscp_t *dscp_p,
1239 const sx_cos_priority_color_t *priority_color_p,
1240 const uint32_t element_cnt);
1258 sx_cos_dscp_t *dscp_p,
1259 sx_cos_priority_color_t *priority_color_p,
1260 uint32_t *element_cnt_p);
1300 const sx_access_cmd_t cmd,
1301 sx_ecmp_id_t *ecmp_id_p,
1302 sx_next_hop_t *next_hop_list_p,
1303 uint32_t *next_hop_cnt_p);
1320 const sx_ecmp_id_t ecmp_id,
1321 sx_next_hop_t *next_hop_list_p,
1322 uint32_t *next_hop_cnt_p);
1386 const sx_access_cmd_t cmd,
1387 const sx_ecmp_id_t ecmp_id,
1388 const sx_ecmp_filter_t *filter_p,
1389 sx_ecmp_id_t *ecmp_list_p,
1390 uint32_t *ecmp_cnt_p);
1408 const sx_ecmp_id_t ecmp_id,
1409 sx_next_hop_t *next_hop_list_p,
1410 uint32_t *next_hop_cnt_p);
1436 const sx_access_cmd_t cmd,
1437 const sx_ecmp_id_t ecmp_id,
1438 const sx_flow_counter_id_t *counter_id_list_p,
1439 const uint32_t *offset_list_p,
1440 const uint32_t elements_cnt);
1464 const sx_access_cmd_t cmd,
1465 const sx_ecmp_id_t ecmp_id,
1466 const sx_flow_counter_id_t counter_id,
1467 const uint32_t *offset_list_p,
1468 const uint32_t elements_cnt);
1485 const sx_access_cmd_t cmd,
1486 const sx_router_neigh_activity_filter_t *filter_p);
1506 const sx_ecmp_id_t ecmp_id,
1507 const sx_ecmp_attributes_t *attr_p);
1523 const sx_ecmp_id_t ecmp_id,
1524 sx_ecmp_attributes_t *attr_p);
1545 const sx_ecmp_id_t old_ecmp_id,
1546 sx_ecmp_id_t *new_ecmp_id_p);
1579 const sx_access_cmd_t cmd,
1580 sx_rpf_group_id_t *rpf_group_id_p,
1581 sx_router_vinterface_t *rpf_vif_list_p,
1582 uint32_t rpf_vif_cnt);
1611 const sx_access_cmd_t cmd,
1612 sx_rpf_group_id_t *rpf_group_id_p,
1613 sx_router_vinterface_t *rpf_vif_list_p,
1614 uint32_t *rpf_vif_cnt_p);
1638 const sx_access_cmd_t cmd,
1639 const sx_router_id_t vrid,
1640 const sx_mc_route_key_t *mc_route_key_p,
1641 const sx_flow_counter_id_t counter_id);
1662 const sx_router_id_t vrid,
1663 const sx_mc_route_key_t *mc_route_key_p,
1664 sx_flow_counter_id_t *counter_id_p);
sx_status_t sx_api_router_counter_extended_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_counter_id_t counter_id, sx_router_counter_set_extended_t *counter_data_p)
sx_status_t sx_api_router_ecmp_get(const sx_api_handle_t handle, const sx_ecmp_id_t ecmp_id, sx_next_hop_t *next_hop_list_p, uint32_t *next_hop_cnt_p)
sx_status_t sx_api_router_interface_get(const sx_api_handle_t handle, const sx_router_interface_t rif, sx_router_id_t *vrid_p, sx_router_interface_param_t *ifc_p, sx_interface_attributes_t *ifc_attr_p)
sx_status_t sx_api_router_cos_dscp_to_prio_set(const sx_api_handle_t handle, const sx_cos_dscp_t *dscp_p, const sx_cos_priority_color_t *priority_color_p, const uint32_t element_cnt)
sx_status_t sx_api_router_ecmp_port_hash_params_get(const sx_api_handle_t handle, const sx_port_log_id_t log_port, sx_router_ecmp_port_hash_params_t *ecmp_hash_params_p, sx_router_ecmp_hash_field_enable_t *hash_field_enable_list_p, uint32_t *hash_field_enable_list_cnt_p, sx_router_ecmp_hash_field_t *hash_field_list_p, uint32_t *hash_field_list_cnt_p)
sx_status_t sx_api_router_ecmp_attributes_get(const sx_api_handle_t handle, const sx_ecmp_id_t ecmp_id, sx_ecmp_attributes_t *attr_p)
sx_status_t sx_api_router_counter_extended_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_counter_attributes_t cntr_attributes, sx_router_counter_id_t *counter_p)
sx_status_t sx_api_router_ecmp_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_ecmp_id_t ecmp_id, const sx_ecmp_filter_t *filter_p, sx_ecmp_id_t *ecmp_list_p, uint32_t *ecmp_cnt_p)
sx_status_t sx_api_router_interface_counter_bind_get(const sx_api_handle_t handle, const sx_router_counter_id_t counter, sx_router_interface_t *rif_p)
sx_status_t sx_api_router_ecmp_hash_params_set(const sx_api_handle_t handle, const sx_router_ecmp_hash_params_t *ecmp_hash_params_p)
sx_status_t sx_api_router_cos_rewrite_pcpdei_enable_get(const sx_api_handle_t handle, sx_cos_pcp_dei_rewrite_e *rewrite_pcp_dei_p)
sx_status_t sx_api_router_mc_rpf_group_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, sx_rpf_group_id_t *rpf_group_id_p, sx_router_vinterface_t *rpf_vif_list_p, uint32_t rpf_vif_cnt)
sx_status_t sx_api_router_uc_route_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_ip_prefix_t *network_addr, sx_uc_route_data_t *uc_route_data_p)
sx_status_t sx_api_router_neigh_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_interface_t rif, const sx_ip_addr_t *neigh_key_p, const sx_neigh_filter_t *filter_p, sx_neigh_get_entry_t *neigh_entry_list_p, uint32_t *neigh_entry_cnt_p)
sx_status_t sx_api_router_interface_state_get(const sx_api_handle_t handle, const sx_router_interface_t rif, sx_router_interface_state_t *rif_state_p)
sx_status_t sx_api_router_vrid_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid_key, const sx_vrid_filter_t *vrid_filter_p, sx_router_id_t *vrid_list_p, uint32_t *vrid_cnt_p)
sx_status_t sx_api_router_cos_rewrite_pcpdei_enable_set(const sx_api_handle_t handle, const sx_cos_pcp_dei_rewrite_e rewrite_pcp_dei)
sx_status_t sx_api_router_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_status_t sx_api_router_uc_route_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_ip_prefix_t *network_addr, sx_uc_route_key_filter_t *filter_p, sx_uc_route_get_entry_t *uc_route_get_entries_list_p, uint32_t *uc_route_get_entries_cnt_p)
sx_status_t sx_api_router_operational_ecmp_get(const sx_api_handle_t handle, const sx_ecmp_id_t ecmp_id, sx_next_hop_t *next_hop_list_p, uint32_t *next_hop_cnt_p)
sx_status_t sx_api_router_neigh_activity_notify(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_neigh_activity_filter_t *filter_p)
sx_status_t sx_api_router_mc_route_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_mc_route_key_t *mc_route_key_p, sx_mc_route_key_filter_t *filter_p, sx_mc_route_get_entry_t *mc_route_get_entries_list_p, uint32_t *mc_route_get_entries_cnt_p)
sx_status_t sx_api_router_counter_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, sx_router_counter_id_t *counter_p)
sx_status_t sx_api_router_interface_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_router_interface_param_t *ifc_p, const sx_interface_attributes_t *ifc_attr_p, sx_router_interface_t *rif_p)
sx_status_t sx_api_router_cos_prio_update_enable_get(const sx_api_handle_t handle, boolean_t *update_priority_color_p)
sx_status_t sx_api_router_init_set(const sx_api_handle_t handle, const sx_router_general_param_t *general_params_p, const sx_router_resources_param_t *router_resource_p)
sx_status_t sx_api_router_interface_mac_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_interface_t rif, const sx_mac_addr_t *mac_addr_list_p, const uint32_t mac_addr_cnt)
sx_status_t sx_api_router_ecmp_counter_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_ecmp_id_t ecmp_id, const sx_flow_counter_id_t *counter_id_list_p, const uint32_t *offset_list_p, const uint32_t elements_cnt)
sx_status_t sx_api_router_uc_route_counter_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_ip_prefix_t *network_addr_p, const sx_flow_counter_id_t counter_id)
sx_status_t sx_api_router_uc_route_operational_ecmp_get(const sx_api_handle_t handle, const sx_router_id_t vrid, const sx_ip_prefix_t *network_addr_p, sx_uc_route_get_entry_t *oper_uc_route_entries_p)
sx_status_t sx_api_router_mc_route_counter_bind_get(const sx_api_handle_t handle, const sx_router_id_t vrid, const sx_mc_route_key_t *mc_route_key_p, sx_flow_counter_id_t *counter_id_p)
sx_status_t sx_api_router_interface_iter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_interface_t *rif_key_p, const sx_rif_filter_t *filter_p, sx_router_interface_t *rif_list_p, uint32_t *rif_cnt_p)
sx_status_t sx_api_router_interface_counter_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_counter_id_t counter, const sx_router_interface_t rif)
sx_status_t sx_api_router_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_status_t sx_api_router_mc_rpf_group_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, sx_rpf_group_id_t *rpf_group_id_p, sx_router_vinterface_t *rpf_vif_list_p, uint32_t *rpf_vif_cnt_p)
sx_status_t sx_api_router_mc_egress_rif_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_mc_route_key_t *mc_route_key_p, const sx_router_interface_t *egress_rif_list_p, const uint32_t egress_rif_cnt)
sx_status_t sx_api_router_interface_state_set(const sx_api_handle_t handle, const sx_router_interface_t rif, const sx_router_interface_state_t *rif_state_p)
sx_status_t sx_api_router_mc_route_counter_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_mc_route_key_t *mc_route_key_p, const sx_flow_counter_id_t counter_id)
sx_status_t sx_api_router_ecmp_attributes_set(const sx_api_handle_t handle, const sx_ecmp_id_t ecmp_id, const sx_ecmp_attributes_t *attr_p)
sx_status_t sx_api_router_deinit_set(const sx_api_handle_t handle)
sx_status_t sx_api_router_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_attributes_t *router_attr, sx_router_id_t *vrid)
sx_status_t sx_api_router_neigh_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_interface_t rif, const sx_ip_addr_t *ip_addr_p, const sx_neigh_data_t *neigh_data_p)
sx_status_t sx_api_router_mc_egress_rif_get(const sx_api_handle_t handle, const sx_router_id_t vrid, const sx_mc_route_key_t *mc_route_key_p, sx_router_interface_t *egress_rif_list_p, uint32_t *egress_rif_cnt)
sx_status_t sx_api_router_cos_prio_update_enable_set(const sx_api_handle_t handle, const boolean_t update_priority_color)
sx_status_t sx_api_router_cos_dscp_to_prio_get(const sx_api_handle_t handle, sx_cos_dscp_t *dscp_p, sx_cos_priority_color_t *priority_color_p, uint32_t *element_cnt_p)
sx_status_t sx_api_router_ecmp_clone_set(const sx_api_handle_t handle, const sx_ecmp_id_t old_ecmp_id, sx_ecmp_id_t *new_ecmp_id_p)
sx_status_t sx_api_router_ecmp_port_hash_params_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_port_log_id_t log_port, const sx_router_ecmp_port_hash_params_t *ecmp_hash_params_p, const sx_router_ecmp_hash_field_enable_t *hash_field_enable_list_p, const uint32_t hash_field_enable_list_cnt, const sx_router_ecmp_hash_field_t *hash_field_list_p, const uint32_t hash_field_list_cnt)
sx_status_t sx_api_router_uc_route_counter_bind_get(const sx_api_handle_t handle, const sx_router_id_t vrid, const sx_ip_prefix_t *network_addr_p, sx_flow_counter_id_t *counter_id_p)
sx_status_t sx_api_router_mc_route_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_mc_route_key_t *mc_route_key_p, const sx_mc_route_attributes_t *mc_route_attr_p, const sx_mc_route_data_t *mc_route_data_p)
sx_status_t sx_api_router_get(const sx_api_handle_t handle, const sx_router_id_t vrid, sx_router_attributes_t *router_attr)
sx_status_t sx_api_router_counter_clear_set(const sx_api_handle_t handle, const sx_router_counter_id_t counter, const boolean_t all)
sx_status_t sx_api_router_mc_route_activity_notify(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_mc_route_activity_notify_filter_t *filter_p)
sx_status_t sx_api_router_ecmp_hash_params_get(const sx_api_handle_t handle, sx_router_ecmp_hash_params_t *ecmp_hash_params_p)
sx_status_t sx_api_router_ecmp_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, sx_ecmp_id_t *ecmp_id_p, sx_next_hop_t *next_hop_list_p, uint32_t *next_hop_cnt_p)
sx_status_t sx_api_router_counter_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_counter_id_t counter, sx_router_counter_set_t *counter_set_p)
sx_status_t sx_api_router_neigh_activity_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_interface_t rif, const sx_ip_addr_t *ip_addr_p, boolean_t *activity_p)
sx_status_t sx_api_router_ecmp_fine_grain_counter_bind_set(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_ecmp_id_t ecmp_id, const sx_flow_counter_id_t counter_id, const uint32_t *offset_list_p, const uint32_t elements_cnt)
sx_status_t sx_api_router_interface_mac_get(const sx_api_handle_t handle, const sx_router_interface_t rif, sx_mac_addr_t *mac_addr_list_p, uint32_t *mac_addr_cnt_p)
sx_status_t sx_api_router_mc_route_activity_get(const sx_api_handle_t handle, const sx_access_cmd_t cmd, const sx_router_id_t vrid, const sx_mc_route_key_t *mc_route_key_p, boolean_t *activity_p)