ovs 的流表(table)有个大几十个, 流表过滤可以用 metadata 快速过滤,medatada 一致再根据优先级决定匹配顺序。
最近在排查一个 kube-ovn 子网 ACL 优先级高于 安全组的反常现象,经过对比 子网 ACL 和 安全组 ACL 的ovs 流表发现,新插入了两条流表,可以根据下图中的存活时间看到多了两条10几秒的。
子网 ACL 目前是基于 from-port的,源物理节点已经看到包发出去了,证明源物理节点的 ovs 流表中 子网 ACL 的优先级是低于安全组的优先级的,所以能出来。
但是上面的图显示目标节点的流表多了两条,且这两条流表导致to port 的流量被drop,因为pod内部抓不到进来的包。