summaryrefslogtreecommitdiffstats
path: root/src/vnet/interface_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/interface_api.c')
-rw-r--r--src/vnet/interface_api.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c
index 45b472e8701..c19f0a84297 100644
--- a/src/vnet/interface_api.c
+++ b/src/vnet/interface_api.c
@@ -879,6 +879,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;
@@ -892,7 +893,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;