diff options
author | Neale Ranns <nranns@cisco.com> | 2017-10-04 02:29:07 -0700 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2017-10-04 17:15:16 +0000 |
commit | 348edb1c06c26bbb6f74ef91169cc5c8ce6cea37 (patch) | |
tree | 48112845aa85e4efcdaa41a9105e1fb31d915884 | |
parent | c5c77ae50a2483fc3d7dbdb495d55f8a4f0aba5a (diff) |
Set MAC address needs the HW interface index
Change-Id: I7b175d57b85e626aab00221b6dac0498aebcbeae
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d867a7cf6baffcebbf1b6e408272ec22dc55dd68)
-rw-r--r-- | src/vnet/interface_api.c | 4 | ||||
-rw-r--r-- | src/vnet/interface_cli.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c index 94e78f6d6f2..daf664e1722 100644 --- a/src/vnet/interface_api.c +++ b/src/vnet/interface_api.c @@ -740,6 +740,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; @@ -753,7 +754,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; diff --git a/src/vnet/interface_cli.c b/src/vnet/interface_cli.c index fe7ae38f7cd..d68c6276bcc 100644 --- a/src/vnet/interface_cli.c +++ b/src/vnet/interface_cli.c @@ -1083,6 +1083,7 @@ set_interface_mac_address (vlib_main_t * vm, unformat_input_t * input, vlib_cli_command_t * cmd) { vnet_main_t *vnm = vnet_get_main (); + vnet_sw_interface_t *si = NULL; clib_error_t *error = 0; u32 sw_if_index = ~0; u64 mac = 0; @@ -1099,7 +1100,8 @@ set_interface_mac_address (vlib_main_t * vm, unformat_input_t * input, format_unformat_error, input); goto done; } - 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); done: return error; } |