Looks good, just minor comment
+static int
+i40evf_reset_dev(struct rte_eth_dev *dev) {
+ struct i40e_adapter *adapter =
+ I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+
+ adapter->reset_flag = 1;
+ i40evf_store_before_reset(dev);
+
+ i40evf_dev_close(dev);
+ PMD_DRV_LOG(DEBUG, "i40evf dev close complete");
+
+ i40evf_dev_uninit(dev);
+ PMD_DRV_LOG(DEBUG, "i40evf dev detached");
+
+ memset(dev->data->dev_private, 0,
+ (uint64_t)&adapter->reset_flag - (uint64_t)adapter);
You can use offset() instead.