ovs模糊流表和精确流表
ovs流表分模糊流表(慢路径)和精确流表(快路径),精确流表数量远少于模糊流表。
模糊流表在ovs网桥上,精确流表在ovs datapath上,精确流表由模糊流表自动生成和老化。其中,ovs datapath代码在内核中,ovs_vport_receive函数用于接收报文并处理,ovs_vport_send函数用于处理并发送报文。
模糊流表会走用户态设备(例如,kube-ovn br-int网桥上geneve类型端口,不是datapath的vport),不走内核态设备。
精确流表不走用户态设备,只走内核态设备(datapath的vport)。例如,kube-ovn br-int网桥上由精确流表完成从geneve类型端口转发到genev_sys_6081完成封包。
# 查看datapath列表
ovs-dpctl dump-dps
# 查看datapath基本信息,包含了genev_sys_6081
ovs-appctl dpctl/show system@ovs-system
# 查看datapath上精确流表
ovs-dpctl dump-flows system@ovs-system