On Sun, Jul 12, 2020 at 3:46 PM Gage Eads <gage.e...@intel.com> wrote:
>  enum dlb2_user_interface_commands {
>         DLB2_CMD_GET_DEVICE_VERSION,
>         DLB2_CMD_CREATE_SCHED_DOMAIN,
>         DLB2_CMD_GET_SCHED_DOMAIN_FD,
>         DLB2_CMD_GET_NUM_RESOURCES,
>         DLB2_CMD_GET_DRIVER_VERSION,
> +       DLB2_CMD_QUERY_CQ_POLL_MODE,
>
>         /* NUM_DLB2_CMD must be last */
>         NUM_DLB2_CMD,

> @@ -427,6 +513,8 @@ struct dlb2_get_dir_queue_depth_args {
>  enum dlb2_domain_user_interface_commands {
>         DLB2_DOMAIN_CMD_CREATE_LDB_QUEUE,
>         DLB2_DOMAIN_CMD_CREATE_DIR_QUEUE,
> +       DLB2_DOMAIN_CMD_CREATE_LDB_PORT,
> +       DLB2_DOMAIN_CMD_CREATE_DIR_PORT,
>         DLB2_DOMAIN_CMD_GET_LDB_QUEUE_DEPTH,
>         DLB2_DOMAIN_CMD_GET_DIR_QUEUE_DEPTH,


You cannot add new commands in the middle without changing the ABI.

Maybe use individual #define lines in place of the enum to make sure these
remain constants, or add a numeric value for each one when they are
originally introduced.

(yes, I realize this is the initial contribution of the new driver, but it still
seems wrong to have it change in the middle of the series).

      Arnd

Reply via email to