summaryrefslogtreecommitdiffstats
path: root/src/vnet/bonding/bond_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/bonding/bond_api.c')
-rw-r--r--src/vnet/bonding/bond_api.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/vnet/bonding/bond_api.c b/src/vnet/bonding/bond_api.c
index 74334b52bf2..ebbb80e956b 100644
--- a/src/vnet/bonding/bond_api.c
+++ b/src/vnet/bonding/bond_api.c
@@ -23,6 +23,7 @@
#include <vnet/interface.h>
#include <vnet/api_errno.h>
#include <vnet/ethernet/ethernet.h>
+#include <vnet/ethernet/ethernet_types_api.h>
#include <vnet/vnet_msg_enum.h>
@@ -78,12 +79,12 @@ vl_api_bond_create_t_handler (vl_api_bond_create_t * mp)
if (mp->use_custom_mac)
{
- clib_memcpy (ap->hw_addr, mp->mac_address, 6);
+ mac_address_decode (mp->mac_address, (mac_address_t *) ap->hw_addr);
ap->hw_addr_set = 1;
}
- ap->mode = mp->mode;
- ap->lb = mp->lb;
+ ap->mode = ntohl (mp->mode);
+ ap->lb = ntohl (mp->lb);
ap->numa_only = mp->numa_only;
bond_create_if (vm, ap);
@@ -168,8 +169,8 @@ bond_send_sw_interface_details (vpe_api_main_t * am,
clib_memcpy (mp->interface_name, bond_if->interface_name,
MIN (ARRAY_LEN (mp->interface_name) - 1,
strlen ((const char *) bond_if->interface_name)));
- mp->mode = bond_if->mode;
- mp->lb = bond_if->lb;
+ mp->mode = htonl (bond_if->mode);
+ mp->lb = htonl (bond_if->lb);
mp->numa_only = bond_if->numa_only;
mp->active_slaves = htonl (bond_if->active_slaves);
mp->slaves = htonl (bond_if->slaves);