- rv = nsim_cross_connect_enable_disable (nsm, ntohl (mp->sw_if_index0),
- ntohl (mp->sw_if_index1),
+ sw_if_index0 = clib_net_to_host_u32 (mp->sw_if_index0);
+ sw_if_index1 = clib_net_to_host_u32 (mp->sw_if_index1);
+
+ if (!vnet_sw_if_index_is_api_valid (sw_if_index0))
+ {
+ rv = VNET_API_ERROR_INVALID_SW_IF_INDEX;
+ goto bad_sw_if_index;
+ }
+ if (!vnet_sw_if_index_is_api_valid (sw_if_index1))
+ {
+ rv = VNET_API_ERROR_INVALID_SW_IF_INDEX_2;
+ goto bad_sw_if_index;
+ }
+
+ rv = nsim_cross_connect_enable_disable (nsm, sw_if_index0, sw_if_index1,