> + > #define RTE_EVENTDEV_NAME_MAX_LEN (64) > /**< @internal Max length of name of event PMD */ > > @@ -1423,6 +1427,8 @@ struct rte_eventdev { > */ > event_tx_adapter_enqueue txa_enqueue; > /**< Pointer to PMD eth Tx adapter enqueue function. */ > + event_crypto_adapter_enqueue ca_enqueue; > + /**< Pointer to PMD crypto adapter enqueue function. */ > struct rte_eventdev_data *data; > /**< Pointer to device data */ > struct rte_eventdev_ops *dev_ops; > @@ -1435,7 +1441,7 @@ struct rte_eventdev { > /**< Flag indicating the device is attached */ > > uint64_t reserved_64s[4]; /**< Reserved for future fields */ > - void *reserved_ptrs[4]; /**< Reserved for future fields */ > + void *reserved_ptrs[3]; /**< Reserved for future fields */ > } __rte_cache_aligned;
This change has following ABI breakage[1]. Could you move ca_enqueue at end of struct to avoid the ABI breakage. Also, please update depreciation notice to move ca_enqueue to above(to align with function pointers) in 21.11 release. [1] [C]'function rte_eventdev* rte_event_pmd_allocate(const char*, int)' at rte_eventdev.c:1467:1 has some indirect sub-type changes: return type changed: in pointed to type 'struct rte_eventdev' at rte_eventdev.h:1411:1: type size hasn't changed 1 data member insertion: 'event_crypto_adapter_enqueue rte_eventdev::ca_enqueue', at offset 512 (in bits) at rte_eventdev.h:1430:1 5 data member changes: 'rte_eventdev_data* rte_eventdev::data' offset changed from 512 to 576 (in bits) (by +64 bits) 'rte_eventdev_ops* rte_eventdev::dev_ops' offset changed from 576 to 640 (in bits) (by +64 bits) 'rte_device* rte_eventdev::dev' offset changed from 640 to 704 (in bits) (by +64 bits) 'uint64_t rte_eventdev::reserved_64s[4]' offset changed from 768 to 832 (in bits) (by +64 bits) type of 'void* rte_eventdev::reserved_ptrs[4]' changed: type name changed from 'void*[4]' to 'void*[3]' array type size changed from 256 to 192 array type subrange 1 changed length from 4 to 3 and offset changed from 1024 to 1088 (in bits) (by +64 bits)