This solution is what I proposed to the techboard some years ago, but the preference was to completely remove the MAX values.
13/06/2022 20:24, Nicolas Chautru: > Updating the last enum for rte_bbdev_op_type > to allow for enum insertion. Please explain that the reason is to keep ABI compatible, and you want to keep the MAX value for array needs. > --- a/lib/bbdev/rte_bbdev.c > +++ b/lib/bbdev/rte_bbdev.c > @@ -1122,7 +1122,10 @@ struct rte_mempool * > "RTE_BBDEV_OP_TURBO_DEC", > "RTE_BBDEV_OP_TURBO_ENC", > "RTE_BBDEV_OP_LDPC_DEC", > - "RTE_BBDEV_OP_LDPC_ENC", > + "RTE_BBDEV_OP_RESERVED_1", > + "RTE_BBDEV_OP_RESERVED_2", > + "RTE_BBDEV_OP_RESERVED_3", > + "RTE_BBDEV_OP_RESERVED_4", As Stephen said, you should make sure that using these values with the API functions will lead to a clear and expected error. > @@ -748,7 +748,7 @@ enum rte_bbdev_op_type { > RTE_BBDEV_OP_TURBO_ENC, /**< Turbo encode */ > RTE_BBDEV_OP_LDPC_DEC, /**< LDPC decode */ > RTE_BBDEV_OP_LDPC_ENC, /**< LDPC encode */ > - RTE_BBDEV_OP_TYPE_COUNT, /**< Count of different op types */ > + RTE_BBDEV_OP_TYPE_COUNT = 8, /**< Count of different op types */ You must update the comment to explain there may be a padding, it is not exactly the count. Maybe "MAX" is a better fit than "COUNT" in this case.