如果 rte_mbuf 中 unused 【比如,rte_mbuf 中最后的uint32_t dynfield1[9] 保存的36B的空间】 的 空间实在是不够用,则可以 通过 :
mbuf 中的 struct rte_mbuf_ext_shared_info *shinfo; 成员。
struct rte_mbuf_ext_shared_info {
rte_mbuf_extbuf_free_callback_t free_cb; /**< Free callback function */
void *fcb_opaque; /**< Free callback argument */
uint16_t refcnt;
};
注:
外部的空间需要释放,比如在mbuf释放的时候,考虑是否有外部空间;如果有,则考虑释放。
但是不是mbuf释放时,就给外部空间释放,比如一个外部空间被多个mbuf 使用。
请问这个shinfo怎么用,谢谢