场景
采用dpdk开发实现类似LVS这种负载均衡时,为了提高性能,session数据结构是per core的,这样可以避免cpu之间锁竞争。详细介绍可以参考https://zhuanlan.zhihu.com/p/24826649。里面详细介绍了为什么需要使用flow director。
涉及的DPDK api
int rte_eth_dev_fdir_add_signature_filter (uint8_t port_id, struct rte_fdir_filter *fdir_filter, uint8_t rx_queue)
int rte_eth_dev_fdir_update_signature_filter (uint8_t port_id, struct rte_fdir_filter *fdir_ftr, uint8_t rx_queue)
int rte_eth_dev_fdir_remove_signature_filter (uint8_t port_id, struct rte_fdir_filter *fdir_ftr)
int rte_eth_dev_fdir_get_infos (uint8_t port_id,