1.转发(复制)报文到kni网卡
处理数据包函数 lcore_process_packets中设备只要设置了NETIF_PORT_FLAG_FORWARD2KNI标志
可以将4层转发流量拷贝一份转发到对应设备的kni口 通过tcpdump抓包分析
/*
* In NETIF_PORT_FLAG_FORWARD2KNI mode.
* All packets received are deep copied and sent to KNI
* for the purpose of capturing forwarding packets.Since the
* rte_mbuf will be modified in the following procedure,
* we should use mbuf_copy instead of rte_pktmbuf_clone.
*/
if (dev->flag & NETIF_PORT_FLAG_FORWARD2KNI) {
if (likely(NULL != (mbuf_copied = mbuf_copy(mbuf,
pktmbuf_pool[dev->socket]))))
kni_ingress(mbuf_copied, dev, qconf);
else
RTE_LOG(WARNING, NETIF, "%s: Failed to copy mbuf\n",
__func__);
}
通过命令设置bond0转发标志
#dpip link set bond0 forward2kni on
访问VIP并抓包
抓包内容