VALIDATE_SW_IF_INDEX (mp);
- vnet_hw_interface_t *hi = vnet_get_hw_interface (vnm, sw_if_index);
- ethernet_interface_t *eif = ethernet_get_interface (em, sw_if_index);
+ vnet_sw_interface_t *si = vnet_get_sw_interface (vnm, sw_if_index);
+ if (si->type != VNET_SW_INTERFACE_TYPE_HARDWARE)
+ {
+ rv = VNET_API_ERROR_INVALID_VALUE;
+ goto bad_sw_if_index;
+ }
+
+ vnet_hw_interface_t *hi = vnet_get_hw_interface (vnm, si->hw_if_index);
+ ethernet_interface_t *eif = ethernet_get_interface (em, si->hw_if_index);
if (!eif)
{
if (hi->max_packet_bytes != mtu)
{
hi->max_packet_bytes = mtu;
- ethernet_set_flags (vnm, sw_if_index, flags);
+ ethernet_set_flags (vnm, si->hw_if_index, flags);
}
BAD_SW_IF_INDEX_LABEL;