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