diff options
Diffstat (limited to 'src/vnet/interface_api.c')
-rw-r--r-- | src/vnet/interface_api.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c index 0731ab35639..05d9f211760 100644 --- a/src/vnet/interface_api.c +++ b/src/vnet/interface_api.c @@ -864,6 +864,7 @@ static void vl_api_sw_interface_set_mac_address_t_handler vl_api_sw_interface_set_mac_address_reply_t *rmp; vnet_main_t *vnm = vnet_get_main (); u32 sw_if_index = ntohl (mp->sw_if_index); + vnet_sw_interface_t *si; u64 mac; clib_error_t *error; int rv = 0; @@ -877,7 +878,8 @@ static void vl_api_sw_interface_set_mac_address_t_handler | (u64) mp->mac_address[4] << (8 * 4) | (u64) mp->mac_address[5] << (8 * 5)); - error = vnet_hw_interface_change_mac_address (vnm, sw_if_index, mac); + si = vnet_get_sw_interface (vnm, sw_if_index); + error = vnet_hw_interface_change_mac_address (vnm, si->hw_if_index, mac); if (error) { rv = VNET_API_ERROR_UNIMPLEMENTED; |