ip_frag: add IPv4 options fragment
[dpdk.git] / lib / gpudev / rte_gpudev.h
index 5cc4eb5..0a94a6a 100644 (file)
@@ -59,7 +59,9 @@ struct rte_gpu_info {
        uint32_t processor_count;
        /** Total memory available on device. */
        size_t total_memory;
-       /* Local NUMA memory ID. -1 if unknown. */
+       /** GPU memory page size. */
+       size_t page_size;
+       /** Local NUMA memory ID. -1 if unknown. */
        int16_t numa_node;
 };
 
@@ -124,8 +126,10 @@ struct rte_gpu_comm_list {
        struct rte_gpu_comm_pkt *pkt_list;
        /** Number of packets in the list. */
        uint32_t num_pkts;
-       /** Status of the list. */
-       enum rte_gpu_comm_list_status status;
+       /** Status of the list. CPU pointer. */
+       enum rte_gpu_comm_list_status *status_h;
+       /** Status of the list. GPU pointer. */
+       enum rte_gpu_comm_list_status *status_d;
 };
 
 /**
@@ -489,7 +493,7 @@ void *rte_gpu_mem_cpu_map(int16_t dev_id, size_t size, void *ptr);
  * @param dev_id
  *   Reference device ID.
  * @param ptr
- *   Pointer to the memory area to be unmapped.
+ *   Pointer to the GPU memory area to be unmapped.
  *   NULL is a no-op accepted value.
  *
  * @return
@@ -679,6 +683,46 @@ __rte_experimental
 int rte_gpu_comm_populate_list_pkts(struct rte_gpu_comm_list *comm_list_item,
                struct rte_mbuf **mbufs, uint32_t num_mbufs);
 
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
+ * Set status flag value of a communication list item.
+ *
+ * @param comm_list_item
+ *   Communication list item to query.
+ * @param status
+ *   Status value to set.
+ *
+ * @return
+ *   0 on success, -rte_errno otherwise:
+ *   - EINVAL if invalid input params
+ */
+__rte_experimental
+int rte_gpu_comm_set_status(struct rte_gpu_comm_list *comm_list_item,
+               enum rte_gpu_comm_list_status status);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
+ * Get status flag value of a communication list item.
+ *
+ * @param comm_list_item
+ *   Communication list item to query.
+ *   Input parameter.
+ * @param status
+ *   Communication list item status flag value.
+ *   Output parameter.
+ *
+ * @return
+ *   0 on success, -rte_errno otherwise:
+ *   - EINVAL if invalid input params
+ */
+__rte_experimental
+int rte_gpu_comm_get_status(struct rte_gpu_comm_list *comm_list_item,
+               enum rte_gpu_comm_list_status *status);
+
 /**
  * @warning
  * @b EXPERIMENTAL: this API may change without prior notice.