* of the dynamic field to be registered:
* const struct rte_mbuf_dynfield rte_dynfield_my_feature = { ... };
* - The application initializes the PMD, and asks for this feature
- * at port initialization by passing DEV_RX_OFFLOAD_MY_FEATURE in
+ * at port initialization by passing RTE_ETH_RX_OFFLOAD_MY_FEATURE in
* rxconf. This will make the PMD to register the field by calling
* rte_mbuf_dynfield_register(&rte_dynfield_my_feature). The PMD
* stores the returned offset.
* - ENOMEM: allocation failure.
* - ENAMETOOLONG: name does not ends with \0.
*/
-__rte_experimental
int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params);
/**
* - ENOMEM: allocation failure.
* - ENAMETOOLONG: name does not ends with \0.
*/
-__rte_experimental
int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params,
size_t offset);
* Possible values for rte_errno:
* - ENOENT: no dynamic field matches this name.
*/
-__rte_experimental
int rte_mbuf_dynfield_lookup(const char *name,
struct rte_mbuf_dynfield *params);
* - ENOMEM: allocation failure.
* - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1.
*/
-__rte_experimental
int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params);
/**
* - ENOMEM: allocation failure.
* - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1.
*/
-__rte_experimental
int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,
unsigned int bitnum);
* Possible values for rte_errno:
* - ENOENT: no dynamic flag matches this name.
*/
-__rte_experimental
int rte_mbuf_dynflag_lookup(const char *name,
struct rte_mbuf_dynflag *params);
* @param out
* The stream where the status is displayed.
*/
-__rte_experimental
void rte_mbuf_dyn_dump(FILE *out);
/*
#define RTE_MBUF_DYNFLAG_RX_TIMESTAMP_NAME "rte_dynflag_rx_timestamp"
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Register dynamic mbuf field and flag for Rx timestamp.
*
* @param field_offset
* - ENOENT: no more field or flag available.
* - ENOMEM: allocation failure.
*/
-__rte_experimental
int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag);
/**
#define RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME "rte_dynflag_tx_timestamp"
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Register dynamic mbuf field and flag for Tx timestamp.
*
* @param field_offset
* - ENOENT: no more field or flag available.
* - ENOMEM: allocation failure.
*/
-__rte_experimental
int rte_mbuf_dyn_tx_timestamp_register(int *field_offset, uint64_t *tx_flag);
+/**
+ * For the PMDs which support IP reassembly of packets, PMD will update the
+ * packet with RTE_MBUF_DYNFLAG_IP_REASSEMBLY_INCOMPLETE_NAME to denote that
+ * IP reassembly is incomplete and application can retrieve the packets back
+ * using RTE_MBUF_DYNFIELD_IP_REASSEMBLY_NAME.
+ */
+#define RTE_MBUF_DYNFIELD_IP_REASSEMBLY_NAME "rte_dynfield_ip_reassembly"
+#define RTE_MBUF_DYNFLAG_IP_REASSEMBLY_INCOMPLETE_NAME "rte_dynflag_ip_reassembly_incomplete"
+
#ifdef __cplusplus
}
#endif