while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
{
- if (unformat (line_input, "name %s", &args.ifname))
+ if (unformat (line_input, "host-if %s", &args.ifname))
+ ;
+ else if (unformat (line_input, "name %s", &args.name))
;
else
return clib_error_return (0, "unknown input `%U'",
rdma_create_if (vm, &args);
vec_free (args.ifname);
+ vec_free (args.name);
return args.error;
}
/* *INDENT-OFF* */
VLIB_CLI_COMMAND (rdma_create_command, static) = {
.path = "create interface rdma",
- .short_help = "create interface rdma <name ifname>",
+ .short_help = "create interface rdma <host-if ifname> [name <name>]",
.function = rdma_create_command_fn,
};
/* *INDENT-ON* */
vec_free (rd->rxqs);
vec_free (rd->txqs);
+ vec_free (rd->name);
pool_put (rm->devices, rd);
}
pool_get_zero (rm->devices, rd);
rd->dev_instance = rd - rm->devices;
rd->per_interface_next_index = ~0;
+ rd->name = vec_dup (args->name);
/* check if device exist and if it is bound to mlx5_core */
s = format (s, "/sys/class/net/%s/device/driver/module%c", args->ifname, 0);
rdma_main_t *rm = &rdma_main;
rdma_device_t *rd = vec_elt_at_index (rm->devices, i);
+ if (rd->name)
+ return format (s, "%s", rd->name);
+
s = format (s, "rdma-%u", rd->dev_instance);
return s;
}