Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/101348 _apply patch failure_ Submitter: Konstantin Ananyev Date: Wednesday, October 13 2021 13:37:04 Applied on: CommitID:2f3758751b157760ebb6fc51cd92841073bb115c Apply patch set 101348-101353 failed: Checking patch doc/guides/rel_notes/release_21_11.rst... Hunk #1 succeeded at 273 (offset -26 lines). Checking patch drivers/net/ark/ark_ethdev_rx.c... Checking patch drivers/net/ark/ark_ethdev_rx.h... Checking patch drivers/net/atlantic/atl_ethdev.h... Checking patch drivers/net/atlantic/atl_rxtx.c... Checking patch drivers/net/bnxt/bnxt_ethdev.c... Hunk #1 succeeded at 3150 (offset -4 lines). Checking patch drivers/net/dpaa/dpaa_ethdev.c... Checking patch drivers/net/dpaa2/dpaa2_ethdev.c... Checking patch drivers/net/e1000/e1000_ethdev.h... error: while searching for: const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); uint32_t eth_igb_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_igb_tx_descriptor_status(void *tx_queue, uint16_t offset); error: patch failed: drivers/net/e1000/e1000_ethdev.h:399 error: while searching for: const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); uint32_t eth_em_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_em_tx_descriptor_status(void *tx_queue, uint16_t offset); error: patch failed: drivers/net/e1000/e1000_ethdev.h:474 Checking patch drivers/net/e1000/em_rxtx.c... Checking patch drivers/net/e1000/igb_rxtx.c... Checking patch drivers/net/enic/enic_ethdev.c... Checking patch drivers/net/fm10k/fm10k.h... error: while searching for: struct rte_mbuf **rx_pkts, uint16_t nb_pkts); uint32_t fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); int fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); error: patch failed: drivers/net/fm10k/fm10k.h:324 Checking patch drivers/net/fm10k/fm10k_rxtx.c... Checking patch drivers/net/hns3/hns3_rxtx.c... Checking patch drivers/net/hns3/hns3_rxtx.h... Checking patch drivers/net/i40e/i40e_rxtx.c... Checking patch drivers/net/i40e/i40e_rxtx.h... error: while searching for: int i40e_alloc_rx_queue_mbufs(struct i40e_rx_queue *rxq); void i40e_rx_queue_release_mbufs(struct i40e_rx_queue *rxq); uint32_t i40e_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int i40e_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); error: patch failed: drivers/net/i40e/i40e_rxtx.h:229 Checking patch drivers/net/iavf/iavf_rxtx.c... Checking patch drivers/net/iavf/iavf_rxtx.h... Checking patch drivers/net/ice/ice_rxtx.c... Checking patch drivers/net/ice/ice_rxtx.h... Checking patch drivers/net/igc/igc_txrx.c... Checking patch drivers/net/igc/igc_txrx.h... error: while searching for: const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset); error: patch failed: drivers/net/igc/igc_txrx.h:22 Checking patch drivers/net/ixgbe/ixgbe_ethdev.h... error: while searching for: uint16_t nb_tx_desc, unsigned int socket_id, const struct rte_eth_txconf *tx_conf); uint32_t ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int ixgbe_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); error: patch failed: drivers/net/ixgbe/ixgbe_ethdev.h:594 Checking patch drivers/net/ixgbe/ixgbe_rxtx.c... Checking patch drivers/net/mlx5/mlx5_rx.c... Checking patch drivers/net/mlx5/mlx5_rx.h... Checking patch drivers/net/netvsc/hn_rxtx.c... Checking patch drivers/net/netvsc/hn_var.h... Checking patch drivers/net/nfp/nfp_rxtx.c... Checking patch drivers/net/nfp/nfp_rxtx.h... Checking patch drivers/net/octeontx2/otx2_ethdev.h... error: while searching for: struct rte_eth_burst_mode *mode); int otx2_tx_burst_mode_get(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_burst_mode *mode); uint32_t otx2_nix_rx_queue_count(struct rte_eth_dev *eth_dev, uint16_t qidx); int otx2_nix_tx_done_cleanup(void *txq, uint32_t free_cnt); int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset); int otx2_nix_tx_descriptor_status(void *tx_queue, uint16_t offset); error: patch failed: drivers/net/octeontx2/otx2_ethdev.h:431 Checking patch drivers/net/octeontx2/otx2_ethdev_ops.c... Checking patch drivers/net/sfc/sfc_ethdev.c... Hunk #1 succeeded at 1282 (offset -74 lines). Checking patch drivers/net/thunderx/nicvf_ethdev.c... Checking patch drivers/net/thunderx/nicvf_rxtx.c... Checking patch drivers/net/thunderx/nicvf_rxtx.h... Checking patch drivers/net/txgbe/txgbe_ethdev.h... Checking patch drivers/net/txgbe/txgbe_rxtx.c... Checking patch drivers/net/vhost/rte_eth_vhost.c... Checking patch lib/ethdev/rte_ethdev.h... error: while searching for: dev->data->rx_queues[queue_id] == NULL) return -EINVAL; return (int)(*dev->rx_queue_count)(dev, queue_id); } /**@{@name Rx hardware descriptor states error: patch failed: lib/ethdev/rte_ethdev.h:5040 Checking patch lib/ethdev/rte_ethdev_core.h... error: while searching for: /**< @internal Prepare output packets on a transmit queue of an Ethernet device. */ typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev, uint16_t rx_queue_id); /**< @internal Get number of used descriptors on a receive queue. */ typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset); error: patch failed: lib/ethdev/rte_ethdev_core.h:41 Applied patch doc/guides/rel_notes/release_21_11.rst cleanly. Applied patch drivers/net/ark/ark_ethdev_rx.c cleanly. Applied patch drivers/net/ark/ark_ethdev_rx.h cleanly. Applied patch drivers/net/atlantic/atl_ethdev.h cleanly. Applied patch drivers/net/atlantic/atl_rxtx.c cleanly. Applied patch drivers/net/bnxt/bnxt_ethdev.c cleanly. Applied patch drivers/net/dpaa/dpaa_ethdev.c cleanly. Applied patch drivers/net/dpaa2/dpaa2_ethdev.c cleanly. Applying patch drivers/net/e1000/e1000_ethdev.h with 2 rejects... Rejected hunk #1. Rejected hunk #2. Applied patch drivers/net/e1000/em_rxtx.c cleanly. Applied patch drivers/net/e1000/igb_rxtx.c cleanly. Applied patch drivers/net/enic/enic_ethdev.c cleanly. Applying patch drivers/net/fm10k/fm10k.h with 1 reject... Rejected hunk #1. Applied patch drivers/net/fm10k/fm10k_rxtx.c cleanly. Applied patch drivers/net/hns3/hns3_rxtx.c cleanly. Applied patch drivers/net/hns3/hns3_rxtx.h cleanly. Applied patch drivers/net/i40e/i40e_rxtx.c cleanly. Applying patch drivers/net/i40e/i40e_rxtx.h with 1 reject... Rejected hunk #1. Applied patch drivers/net/iavf/iavf_rxtx.c cleanly. Applied patch drivers/net/iavf/iavf_rxtx.h cleanly. Applied patch drivers/net/ice/ice_rxtx.c cleanly. Applied patch drivers/net/ice/ice_rxtx.h cleanly. Applied patch drivers/net/igc/igc_txrx.c cleanly. Applying patch drivers/net/igc/igc_txrx.h with 1 reject... Rejected hunk #1. Applying patch drivers/net/ixgbe/ixgbe_ethdev.h with 1 reject... Rejected hunk #1. Applied patch drivers/net/ixgbe/ixgbe_rxtx.c cleanly. Applied patch drivers/net/mlx5/mlx5_rx.c cleanly. Applied patch drivers/net/mlx5/mlx5_rx.h cleanly. Applied patch drivers/net/netvsc/hn_rxtx.c cleanly. Applied patch drivers/net/netvsc/hn_var.h cleanly. Applied patch drivers/net/nfp/nfp_rxtx.c cleanly. Applied patch drivers/net/nfp/nfp_rxtx.h cleanly. Applying patch drivers/net/octeontx2/otx2_ethdev.h with 1 reject... Rejected hunk #1. Applied patch drivers/net/octeontx2/otx2_ethdev_ops.c cleanly. Applied patch drivers/net/sfc/sfc_ethdev.c cleanly. Applied patch drivers/net/thunderx/nicvf_ethdev.c cleanly. Applied patch drivers/net/thunderx/nicvf_rxtx.c cleanly. Applied patch drivers/net/thunderx/nicvf_rxtx.h cleanly. Applied patch drivers/net/txgbe/txgbe_ethdev.h cleanly. Applied patch drivers/net/txgbe/txgbe_rxtx.c cleanly. Applied patch drivers/net/vhost/rte_eth_vhost.c cleanly. Applying patch lib/ethdev/rte_ethdev.h with 1 reject... Rejected hunk #1. Applying patch lib/ethdev/rte_ethdev_core.h with 1 reject... Rejected hunk #1. diff a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h (rejected hunks) @@ -399,8 +399,7 @@ int eth_igb_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); -uint32_t eth_igb_rx_queue_count(struct rte_eth_dev *dev, - uint16_t rx_queue_id); +uint32_t eth_igb_rx_queue_count(void *rx_queue); int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_igb_tx_descriptor_status(void *tx_queue, uint16_t offset); @@ -474,8 +473,7 @@ int eth_em_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); -uint32_t eth_em_rx_queue_count(struct rte_eth_dev *dev, - uint16_t rx_queue_id); +uint32_t eth_em_rx_queue_count(void *rx_queue); int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset); int eth_em_tx_descriptor_status(void *tx_queue, uint16_t offset); diff a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h (rejected hunks) @@ -324,7 +324,7 @@ uint16_t fm10k_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts); uint32_t -fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id); +fm10k_dev_rx_queue_count(void *rx_queue); int fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); diff a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h (rejected hunks) @@ -229,8 +229,7 @@ int i40e_tx_done_cleanup(void *txq, uint32_t free_cnt); int i40e_alloc_rx_queue_mbufs(struct i40e_rx_queue *rxq); void i40e_rx_queue_release_mbufs(struct i40e_rx_queue *rxq); -uint32_t i40e_dev_rx_queue_count(struct rte_eth_dev *dev, - uint16_t rx_queue_id); +uint32_t i40e_dev_rx_queue_count(void *rx_queue); int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int i40e_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); diff a/drivers/net/igc/igc_txrx.h b/drivers/net/igc/igc_txrx.h (rejected hunks) @@ -22,8 +22,7 @@ int eth_igc_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool); -uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev, - uint16_t rx_queue_id); +uint32_t eth_igc_rx_queue_count(void *rx_queue); int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset); diff a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h (rejected hunks) @@ -594,8 +594,7 @@ int ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, uint16_t nb_tx_desc, unsigned int socket_id, const struct rte_eth_txconf *tx_conf); -uint32_t ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, - uint16_t rx_queue_id); +uint32_t ixgbe_dev_rx_queue_count(void *rx_queue); int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset); int ixgbe_dev_tx_descriptor_status(void *tx_queue, uint16_t offset); diff a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h (rejected hunks) @@ -431,7 +431,7 @@ int otx2_rx_burst_mode_get(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_burst_mode *mode); int otx2_tx_burst_mode_get(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_burst_mode *mode); -uint32_t otx2_nix_rx_queue_count(struct rte_eth_dev *eth_dev, uint16_t qidx); +uint32_t otx2_nix_rx_queue_count(void *rx_queue); int otx2_nix_tx_done_cleanup(void *txq, uint32_t free_cnt); int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset); int otx2_nix_tx_descriptor_status(void *tx_queue, uint16_t offset); diff a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h (rejected hunks) @@ -5040,7 +5040,7 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id) dev->data->rx_queues[queue_id] == NULL) return -EINVAL; - return (int)(*dev->rx_queue_count)(dev, queue_id); + return (int)(*dev->rx_queue_count)(dev->data->rx_queues[queue_id]); } /**@{@name Rx hardware descriptor states diff a/lib/ethdev/rte_ethdev_core.h b/lib/ethdev/rte_ethdev_core.h (rejected hunks) @@ -41,8 +41,7 @@ typedef uint16_t (*eth_tx_prep_t)(void *txq, /**< @internal Prepare output packets on a transmit queue of an Ethernet device. */ -typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev, - uint16_t rx_queue_id); +typedef uint32_t (*eth_rx_queue_count_t)(void *rxq); /**< @internal Get number of used descriptors on a receive queue. */ typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset); Checking patch lib/ethdev/ethdev_private.c... Checking patch lib/ethdev/rte_ethdev.h... Hunk #1 succeeded at 4830 (offset -54 lines). Hunk #2 succeeded at 4948 (offset -54 lines). error: while searching for: static inline int rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id) { struct rte_eth_dev *dev; RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); dev = &rte_eth_devices[port_id]; RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_queue_count, -ENOTSUP); if (queue_id >= dev->data->nb_rx_queues || dev->data->rx_queues[queue_id] == NULL) return -EINVAL; return (int)(*dev->rx_queue_count)(dev->data->rx_queues[queue_id]); } /**@{@name Rx hardware descriptor states error: patch failed: lib/ethdev/rte_ethdev.h:5031 Hunk #4 succeeded at 5098 (offset -40 lines). Hunk #5 succeeded at 5168 (offset -40 lines). Hunk #6 succeeded at 5286 (offset -40 lines). Hunk #7 succeeded at 5397 (offset -40 lines). Checking patch lib/ethdev/version.map... Applied patch lib/ethdev/ethdev_private.c cleanly. Applying patch lib/ethdev/rte_ethdev.h with 1 reject... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Rejected hunk #3. Hunk #4 applied cleanly. Hunk #5 applied cleanly. Hunk #6 applied cleanly. Hunk #7 applied cleanly. Applied patch lib/ethdev/version.map cleanly. diff a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h (rejected hunks) @@ -5031,16 +5070,27 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, static inline int rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id) { - struct rte_eth_dev *dev; + struct rte_eth_fp_ops *p; + void *qd; + + if (port_id >= RTE_MAX_ETHPORTS || + queue_id >= RTE_MAX_QUEUES_PER_PORT) { + RTE_ETHDEV_LOG(ERR, + "Invalid port_id=%u or queue_id=%u\n", + port_id, queue_id); + return -EINVAL; + } + + /* fetch pointer to queue data */ + p = &rte_eth_fp_ops[port_id]; + qd = p->rxq.data[queue_id]; RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); - dev = &rte_eth_devices[port_id]; - RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_queue_count, -ENOTSUP); - if (queue_id >= dev->data->nb_rx_queues || - dev->data->rx_queues[queue_id] == NULL) + RTE_FUNC_PTR_OR_ERR_RET(*p->rx_queue_count, -ENOTSUP); + if (qd == NULL) return -EINVAL; - return (int)(*dev->rx_queue_count)(dev->data->rx_queues[queue_id]); + return (int)(*p->rx_queue_count)(qd); } /**@{@name Rx hardware descriptor states Checking patch app/test-pmd/config.c... Checking patch doc/guides/rel_notes/release_21_11.rst... error: doc/guides/rel_notes/release_21_11.rst: does not match index Checking patch lib/ethdev/rte_ethdev.c... Checking patch lib/ethdev/rte_ethdev.h... error: lib/ethdev/rte_ethdev.h: does not match index Checking patch lib/ethdev/version.map... error: lib/ethdev/version.map: does not match index Applied patch app/test-pmd/config.c cleanly. Applied patch lib/ethdev/rte_ethdev.c cleanly. Checking patch doc/guides/rel_notes/release_21_11.rst... error: doc/guides/rel_notes/release_21_11.rst: does not match index Checking patch drivers/common/octeontx2/otx2_sec_idev.c... Checking patch drivers/crypto/octeontx2/otx2_cryptodev_ops.c... Checking patch drivers/net/cxgbe/base/adapter.h... Checking patch drivers/net/dpaa2/dpaa2_ptp.c... Checking patch drivers/net/netvsc/hn_var.h... error: drivers/net/netvsc/hn_var.h: does not match index Checking patch lib/ethdev/ethdev_driver.h... Checking patch lib/ethdev/rte_ethdev_core.h... error: while searching for: extern struct rte_eth_fp_ops rte_eth_fp_ops[RTE_MAX_ETHPORTS]; /** * @internal * Structure used to hold information about the callbacks to be called for a * queue on RX and TX. */ struct rte_eth_rxtx_callback { struct rte_eth_rxtx_callback *next; union{ rte_rx_callback_fn rx; rte_tx_callback_fn tx; } fn; void *param; }; /** * @internal * The generic data structure associated with each ethernet device. * * Pointers to burst-oriented packet receive and transmit functions are * located at the beginning of the structure, along with the pointer to * where all the data elements for the particular device are stored in shared * memory. This split allows the function pointer and driver data to be per- * process, while the actual configuration data for the device is shared. */ struct rte_eth_dev { eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */ eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */ eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */ eth_rx_queue_count_t rx_queue_count; /**< Get the number of used RX descriptors. */ eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */ eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */ /** * Next two fields are per-device data but *data is shared between * primary and secondary processes and *process_private is per-process * private. The second one is managed by PMDs if necessary. */ struct rte_eth_dev_data *data; /**< Pointer to device data. */ void *process_private; /**< Pointer to per-process device data. */ const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */ struct rte_device *device; /**< Backing device */ struct rte_intr_handle *intr_handle; /**< Device interrupt handle */ /** User application callbacks for NIC interrupts */ struct rte_eth_dev_cb_list link_intr_cbs; /** * User-supplied functions called from rx_burst to post-process * received packets before passing them to the user */ struct rte_eth_rxtx_callback *post_rx_burst_cbs[RTE_MAX_QUEUES_PER_PORT]; /** * User-supplied functions called from tx_burst to pre-process * received packets before passing them to the driver for transmission. */ struct rte_eth_rxtx_callback *pre_tx_burst_cbs[RTE_MAX_QUEUES_PER_PORT]; enum rte_eth_dev_state state; /**< Flag indicating the port state */ void *security_ctx; /**< Context for security ops */ uint64_t reserved_64s[4]; /**< Reserved for future fields */ void *reserved_ptrs[4]; /**< Reserved for future fields */ } __rte_cache_aligned; struct rte_eth_dev_sriov; struct rte_eth_dev_owner; /** * @internal * The data part, with no function pointers, associated with each ethernet device. * * This structure is safe to place in shared memory to be common among different * processes in a multi-process configuration. */ struct rte_eth_dev_data { char name[RTE_ETH_NAME_MAX_LEN]; /**< Unique identifier name */ void **rx_queues; /**< Array of pointers to RX queues. */ void **tx_queues; /**< Array of pointers to TX queues. */ uint16_t nb_rx_queues; /**< Number of RX queues. */ uint16_t nb_tx_queues; /**< Number of TX queues. */ struct rte_eth_dev_sriov sriov; /**< SRIOV data */ void *dev_private; /**< PMD-specific private data. * @see rte_eth_dev_release_port() */ struct rte_eth_link dev_link; /**< Link-level information & status. */ struct rte_eth_conf dev_conf; /**< Configuration applied to device. */ uint16_t mtu; /**< Maximum Transmission Unit. */ uint32_t min_rx_buf_size; /**< Common RX buffer size handled by all queues. */ uint64_t rx_mbuf_alloc_failed; /**< RX ring mbuf allocation failures. */ struct rte_ether_addr *mac_addrs; /**< Device Ethernet link address. * @see rte_eth_dev_release_port() */ uint64_t mac_pool_sel[ETH_NUM_RECEIVE_MAC_ADDR]; /**< Bitmap associating MAC addresses to pools. */ struct rte_ether_addr *hash_mac_addrs; /**< Devi error: patch failed: lib/ethdev/rte_ethdev_core.h:109 Checking patch lib/ethdev/version.map... error: lib/ethdev/version.map: does not match index Checking patch lib/eventdev/rte_event_eth_rx_adapter.c... Checking patch lib/eventdev/rte_event_eth_tx_adapter.c... Checking patch lib/eventdev/rte_eventdev.c... Checking patch lib/metrics/rte_metrics_telemetry.c... Applied patch drivers/common/octeontx2/otx2_sec_idev.c cleanly. Applied patch drivers/crypto/octeontx2/otx2_cryptodev_ops.c cleanly. Applied patch drivers/net/cxgbe/base/adapter.h cleanly. Applied patch drivers/net/dpaa2/dpaa2_ptp.c cleanly. Applied patch lib/ethdev/ethdev_driver.h cleanly. Applying patch lib/ethdev/rte_ethdev_core.h with 1 reject... Rejected hunk #1. Applied patch lib/eventdev/rte_event_eth_rx_adapter.c cleanly. Applied patch lib/eventdev/rte_event_eth_tx_adapter.c cleanly. Applied patch lib/eventdev/rte_eventdev.c cleanly. Applied patch lib/metrics/rte_metrics_telemetry.c cleanly. diff a/lib/ethdev/rte_ethdev_core.h b/lib/ethdev/rte_ethdev_core.h (rejected hunks) @@ -109,153 +109,4 @@ struct rte_eth_fp_ops { extern struct rte_eth_fp_ops rte_eth_fp_ops[RTE_MAX_ETHPORTS]; - -/** - * @internal - * Structure used to hold information about the callbacks to be called for a - * queue on RX and TX. - */ -struct rte_eth_rxtx_callback { - struct rte_eth_rxtx_callback *next; - union{ - rte_rx_callback_fn rx; - rte_tx_callback_fn tx; - } fn; - void *param; -}; - -/** - * @internal - * The generic data structure associated with each ethernet device. - * - * Pointers to burst-oriented packet receive and transmit functions are - * located at the beginning of the structure, along with the pointer to - * where all the data elements for the particular device are stored in shared - * memory. This split allows the function pointer and driver data to be per- - * process, while the actual configuration data for the device is shared. - */ -struct rte_eth_dev { - eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */ - eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */ - eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */ - - eth_rx_queue_count_t rx_queue_count; /**< Get the number of used RX descriptors. */ - eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */ - eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */ - - /** - * Next two fields are per-device data but *data is shared between - * primary and secondary processes and *process_private is per-process - * private. The second one is managed by PMDs if necessary. - */ - struct rte_eth_dev_data *data; /**< Pointer to device data. */ - void *process_private; /**< Pointer to per-process device data. */ - const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */ - struct rte_device *device; /**< Backing device */ - struct rte_intr_handle *intr_handle; /**< Device interrupt handle */ - /** User application callbacks for NIC interrupts */ - struct rte_eth_dev_cb_list link_intr_cbs; - /** - * User-supplied functions called from rx_burst to post-process - * received packets before passing them to the user - */ - struct rte_eth_rxtx_callback *post_rx_burst_cbs[RTE_MAX_QUEUES_PER_PORT]; - /** - * User-supplied functions called from tx_burst to pre-process - * received packets before passing them to the driver for transmission. - */ - struct rte_eth_rxtx_callback *pre_tx_burst_cbs[RTE_MAX_QUEUES_PER_PORT]; - enum rte_eth_dev_state state; /**< Flag indicating the port state */ - void *security_ctx; /**< Context for security ops */ - - uint64_t reserved_64s[4]; /**< Reserved for future fields */ - void *reserved_ptrs[4]; /**< Reserved for future fields */ -} __rte_cache_aligned; - -struct rte_eth_dev_sriov; -struct rte_eth_dev_owner; - -/** - * @internal - * The data part, with no function pointers, associated with each ethernet device. - * - * This structure is safe to place in shared memory to be common among different - * processes in a multi-process configuration. - */ -struct rte_eth_dev_data { - char name[RTE_ETH_NAME_MAX_LEN]; /**< Unique identifier name */ - - void **rx_queues; /**< Array of pointers to RX queues. */ - void **tx_queues; /**< Array of pointers to TX queues. */ - uint16_t nb_rx_queues; /**< Number of RX queues. */ - uint16_t nb_tx_queues; /**< Number of TX queues. */ - - struct rte_eth_dev_sriov sriov; /**< SRIOV data */ - - void *dev_private; - /**< PMD-specific private data. - * @see rte_eth_dev_release_port() - */ - - struct rte_eth_link dev_link; /**< Link-level information & status. */ - struct rte_eth_conf dev_conf; /**< Configuration applied to device. */ - uint16_t mtu; /**< Maximum Transmission Unit. */ - uint32_t min_rx_buf_size; - /**< Common RX buffer size handled by all queues. */ - - uint64_t rx_mbuf_alloc_failed; /**< RX ring mbuf allocation failures. */ - struct rte_ether_addr *mac_addrs; - /**< Device Ethernet link address. - * @see rte_eth_dev_release_port() - */ - uint64_t mac_pool_sel[ETH_NUM_RECEIVE_MAC_ADDR]; - /**< Bitmap associating MAC addresses to pools. */ - struct rte_ether_addr *hash_mac_addrs; - /**< Device Ethernet MAC addresses of hash filtering. - * @see rte_eth_dev_release_port() - */ - uint16_t port_id; /**< Device [external] port identifier. */ - - __extension__ - uint8_t promiscuous : 1, /**< RX promiscuous mode ON(1) / OFF(0). */ - scattered_rx : 1, /**< RX of scattered packets is ON(1) / OFF(0) */ - all_multicast : 1, /**< RX all multicast mode ON(1) / OFF(0). */ - dev_started : 1, /**< Device state: STARTED(1) / STOPPED(0). */ - lro : 1, /**< RX LRO is ON(1) / OFF(0) */ - dev_configured : 1; - /**< Indicates whether the device is configured. - * CONFIGURED(1) / NOT CONFIGURED(0). - */ - uint8_t rx_queue_state[RTE_MAX_QUEUES_PER_PORT]; - /**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */ - uint8_t tx_queue_state[RTE_MAX_QUEUES_PER_PORT]; - /**< Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0). */ - uint32_t dev_flags; /**< Capabilities. */ - int numa_node; /**< NUMA node connection. */ - struct rte_vlan_filter_conf vlan_filter_conf; - /**< VLAN filter configuration. */ - struct rte_eth_dev_owner owner; /**< The port owner. */ - uint16_t representor_id; - /**< Switch-specific identifier. - * Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags. - */ - uint16_t backer_port_id; - /**< Port ID of the backing device. - * This device will be used to query representor - * info and calculate representor IDs. - * Valid if RTE_ETH_DEV_REPRESENTOR in dev_flags. - */ - - pthread_mutex_t flow_ops_mutex; /**< rte_flow ops mutex. */ - uint64_t reserved_64s[4]; /**< Reserved for future fields */ - void *reserved_ptrs[4]; /**< Reserved for future fields */ -} __rte_cache_aligned; - -/** - * @internal - * The pool of *rte_eth_dev* structures. The size of the pool - * is configured at compile-time in the file. - */ -extern struct rte_eth_dev rte_eth_devices[]; - #endif /* _RTE_ETHDEV_CORE_H_ */ https://lab.dpdk.org/results/dashboard/patchsets/19372/ UNH-IOL DPDK Community Lab