diff options
author | John Lo <loj@cisco.com> | 2017-10-31 14:31:10 -0400 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2017-10-31 20:03:11 +0000 |
commit | 62fcc0ac6151b57b1177ac8b346341fc4dac3bb3 (patch) | |
tree | 6c80cd59df8fafe9b1fcef87ee262e7c2b726213 /src/vnet/interface.c | |
parent | ca3b6f1b4116010b1acbbb29a945767cb5443914 (diff) |
Fix set interface mac address API to be endian neutral
Store and pass MAC address as 6 byte u8 array instead of u64 to
make MAC address handling in set interface MAC endian neutral.
The previous API handler only works for little endian.
Change-Id: Ie4ec33a840bc5122ab1f17e25977e58f3466253b
Signed-off-by: John Lo <loj@cisco.com>
Diffstat (limited to 'src/vnet/interface.c')
-rw-r--r-- | src/vnet/interface.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vnet/interface.c b/src/vnet/interface.c index eb5d3d0fced..82eccc12436 100644 --- a/src/vnet/interface.c +++ b/src/vnet/interface.c @@ -1334,7 +1334,8 @@ vnet_rename_interface (vnet_main_t * vnm, u32 hw_if_index, char *new_name) static clib_error_t * vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm, - u32 hw_if_index, u64 mac_address) + u32 hw_if_index, + u8 * mac_address) { clib_error_t *error = 0; vnet_hw_interface_t *hi = vnet_get_hw_interface (vnm, hw_if_index); @@ -1346,7 +1347,7 @@ vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm, if (dev_class->mac_addr_change_function) { error = - dev_class->mac_addr_change_function (hi, (char *) &mac_address); + dev_class->mac_addr_change_function (hi, (char *) mac_address); } if (!error) { @@ -1355,7 +1356,7 @@ vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm, hw_class = vnet_get_hw_interface_class (vnm, hi->hw_class_index); if (NULL != hw_class->mac_addr_change_function) - hw_class->mac_addr_change_function (hi, (char *) &mac_address); + hw_class->mac_addr_change_function (hi, (char *) mac_address); } else { @@ -1376,7 +1377,7 @@ vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm, clib_error_t * vnet_hw_interface_change_mac_address (vnet_main_t * vnm, u32 hw_if_index, - u64 mac_address) + u8 * mac_address) { return vnet_hw_interface_change_mac_address_helper (vnm, hw_if_index, mac_address); |