static void sai_neighbor_entry_parse( const sai_neighbor_entry_t *neighbor_entry, switch_api_neighbor_t *api_neighbor) { SAI_ASSERT(sai_object_type_query(neighbor_entry->rif_id) == SAI_OBJECT_TYPE_ROUTER_INTERFACE); api_neighbor->interface = (switch_handle_t) neighbor_entry->rif_id; api_neighbor->rw_type = SWITCH_API_NEIGHBOR_RW_TYPE_L3; sai_ip_addr_to_switch_ip_addr(&neighbor_entry->ip_address, &api_neighbor->ip_addr); }
static void sai_ipmc_entry_parse(_In_ const sai_ipmc_entry_t *ipmc_entry, _Out_ switch_handle_t *vrf_handle, _Out_ switch_ip_addr_t *src_addr, _Out_ switch_ip_addr_t *grp_addr) { SAI_ASSERT(sai_object_type_query(ipmc_entry->vr_id) == SAI_OBJECT_TYPE_VIRTUAL_ROUTER); *vrf_handle = (switch_handle_t)ipmc_entry->vr_id; memset(src_addr, 0, sizeof(switch_ip_addr_t)); sai_ip_addr_to_switch_ip_addr(&(ipmc_entry->source), src_addr); if (((src_addr->type == SWITCH_API_IP_ADDR_V4) && (src_addr->ip.v4addr == 0)) || ((src_addr->type == SWITCH_API_IP_ADDR_V6) && (memcmp(src_addr->ip.v6addr, &in6addr_any, sizeof(in6addr_any)) == 0))) { src_addr->prefix_len = 0; } sai_ip_prefix_to_switch_ip_addr(&(ipmc_entry->group), grp_addr); }