diff options
-rw-r--r-- | src/vat/api_format.c | 14 | ||||
-rw-r--r-- | src/vnet/devices/tap/tap.c | 4 | ||||
-rw-r--r-- | src/vnet/devices/tap/tapv2_api.c | 2 | ||||
-rw-r--r-- | src/vpp/api/custom_dump.c | 2 |
4 files changed, 11 insertions, 11 deletions
diff --git a/src/vat/api_format.c b/src/vat/api_format.c index 99625617883..dc7111d4ea7 100644 --- a/src/vat/api_format.c +++ b/src/vat/api_format.c @@ -7782,7 +7782,7 @@ api_tap_create_v2 (vat_main_t * vam) u8 host_ip6_gw_set = 0; u32 host_ip6_prefix_len = 0; int ret; - int rx_ring_sz = 0, tx_ring_sz = 0; + u32 rx_ring_sz = 0, tx_ring_sz = 0; memset (mac_address, 0, sizeof (mac_address)); @@ -7793,7 +7793,7 @@ api_tap_create_v2 (vat_main_t * vam) { random_mac = 0; } - else if (unformat (i, "id %s", &id)) + else if (unformat (i, "id %u", &id)) ; else if (unformat (i, "host-if-name %s", &host_if_name)) ; @@ -7875,15 +7875,15 @@ api_tap_create_v2 (vat_main_t * vam) mp->use_random_mac = random_mac; - mp->id = id; + mp->id = ntohl (id); mp->host_namespace_set = host_ns != 0; mp->host_bridge_set = host_bridge != 0; mp->host_ip4_addr_set = host_ip4_prefix_len != 0; mp->host_ip6_addr_set = host_ip6_prefix_len != 0; - mp->rx_ring_sz = rx_ring_sz; - mp->tx_ring_sz = tx_ring_sz; + mp->rx_ring_sz = ntohs (rx_ring_sz); + mp->tx_ring_sz = ntohs (tx_ring_sz); - if (random_mac) + if (random_mac == 0) clib_memcpy (mp->mac_address, mac_address, 6); if (host_mac_addr_set) clib_memcpy (mp->host_mac_addr, host_mac_addr, 6); @@ -22776,7 +22776,7 @@ _(tap_delete, \ "<vpp-if-name> | sw_if_index <id>") \ _(sw_interface_tap_dump, "") \ _(tap_create_v2, \ - "name <name> [hw-addr <mac-addr>] [host-ns <name>] [rx-ring-size <num> [tx-ring-size <num>]") \ + "id <num> [hw-addr <mac-addr>] [host-ns <name>] [rx-ring-size <num> [tx-ring-size <num>]") \ _(tap_delete_v2, \ "<vpp-if-name> | sw_if_index <id>") \ _(sw_interface_tap_v2_dump, "") \ diff --git a/src/vnet/devices/tap/tap.c b/src/vnet/devices/tap/tap.c index eb5a7a9eb2e..8005b347391 100644 --- a/src/vnet/devices/tap/tap.c +++ b/src/vnet/devices/tap/tap.c @@ -130,8 +130,6 @@ tap_create_if (vlib_main_t * vm, tap_create_if_args_t * args) vif->tap_fd = -1; vif->id = args->id; - hash_set (tm->dev_instance_by_interface_id, vif->id, vif->dev_instance); - if ((vif->fd = open ("/dev/vhost-net", O_RDWR | O_NONBLOCK)) < 0) { args->rv = VNET_API_ERROR_SYSCALL_ERROR_1; @@ -383,6 +381,8 @@ tap_create_if (vlib_main_t * vm, tap_create_if_args_t * args) goto error; } + hash_set (tm->dev_instance_by_interface_id, vif->id, vif->dev_instance); + sw = vnet_get_hw_sw_interface (vnm, vif->hw_if_index); vif->sw_if_index = sw->sw_if_index; args->sw_if_index = vif->sw_if_index; diff --git a/src/vnet/devices/tap/tapv2_api.c b/src/vnet/devices/tap/tapv2_api.c index 34472c0ab28..c6da0c9deae 100644 --- a/src/vnet/devices/tap/tapv2_api.c +++ b/src/vnet/devices/tap/tapv2_api.c @@ -59,7 +59,7 @@ vl_api_tap_create_v2_t_handler (vl_api_tap_create_v2_t * mp) memset (ap, 0, sizeof (*ap)); - ap->id = mp->id; + ap->id = ntohl (mp->id); if (!mp->use_random_mac) { clib_memcpy (ap->mac_addr, mp->mac_address, 6); diff --git a/src/vpp/api/custom_dump.c b/src/vpp/api/custom_dump.c index 57c8bb3bbfb..28f16d2fe67 100644 --- a/src/vpp/api/custom_dump.c +++ b/src/vpp/api/custom_dump.c @@ -558,7 +558,7 @@ static void *vl_api_tap_create_v2_t_print memset (null_mac, 0, sizeof (null_mac)); s = format (0, "SCRIPT: tap_create_v2 "); - s = format (s, "id %s ", mp->id); + s = format (s, "id %u ", mp->id); if (memcmp (mp->mac_address, null_mac, 6)) s = format (s, "mac-address %U ", format_ethernet_address, mp->mac_address); |