Hello: We have a problem of occasionally delay shaking at IPv6 when add the following flow:
ovs-ofctl add-flow ply1-1-0 "table=0,priority=2,in_port=3,icmp6,dl_src=fa:16:3e:01:01:40,icmp_type=136,nd_target=2002:1::a84c:b41d:3e1:140 actions=output:4" ovs-ofctl add-flow ply1-1-0 "table=0,priority=2,in_port=3,dl_src=fa:16:3e:01:01:40,ipv6 actions=output:4" ovs-ofctl add-flow ply1-1-0 "table=0,priority=10,ipv6,in_port=4 actions=output:3" In order to make the problem a definite one, we add "need_revalidate = true" in revalidate_ukey() as following. static enum reval_result revalidate_ukey( ...... ) { ...... need_revalidate = true; if (need_revalidate) { ...... } } We add "need_revalidate = true" and do the following test : 1. Add flow: (packets only hit the second and third flow, and will never hit the first one.) ovs-ofctl add-flow ply1-1-0 "table=0,priority=2,in_port=3,icmp6,dl_src=fa:16:3e:01:01:40,icmp_type=136,nd_target=2002:1::a84c:b41d:3e1:140 actions=output:4" ovs-ofctl add-flow ply1-1-0 "table=0,priority=2,in_port=3,dl_src=fa:16:3e:01:01:40,ipv6 actions=output:4" ovs-ofctl add-flow ply1-1-0 "table=0,priority=10,ipv6,in_port=4 actions=output:3" average ping6 delay > 0.3ms 2. Modify dl_src of the first flow in experiment 1: ovs-ofctl add-flow ply1-1-0 "table=0,priority=2,in_port=3,icmp6,dl_src=fa:16:3e:11:11:41,icmp_type=136,nd_target=2002:1::a84c:b41d:3e1:140 actions=output:4" ovs-ofctl add-flow ply1-1-0 "table=0,priority=2,in_port=3,dl_src=fa:16:3e:01:01:40,ipv6 actions=output:4" ovs-ofctl add-flow ply1-1-0 "table=0,priority=10,ipv6,in_port=4 actions=output:3" average ping6 delay < 0.1ms 3. Delete the first flow in experiment 1: ovs-ofctl add-flow ply1-1-0 "table=0,priority=2,in_port=3,dl_src=fa:16:3e:01:01:40,ipv6 actions=output:4" ovs-ofctl add-flow ply1-1-0 "table=0,priority=10,ipv6,in_port=4 actions=output:3" average ping6 delay < 0.1ms It seems like that nd_target mask has been set as 0xffff when upcall in flow_wildcards_fold_minimask_in_map(), but change to 0x0000 when generate dpcls_rule, which leads to this phenomenon. Tcp and udp packets have the same results with icmpv6 ping6 packets when add the first flow in experiment 1. Could you please give us some suggestions on how to solve this problem? Will you fix this problem? Thank you. # ovs-ofctl --version ovs-ofctl (Open vSwitch) 2.7.3 OpenFlow versions 0x1:0x4 Release version: R5.RC6.018 # uname -a Linux linux-xWqfOT 3.10.0-862.14.1.6_8.x86_64 #1 SMP Thu Dec 20 00:00:00 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux # ovs-ofctl show ply1-1-0 OFPT_FEATURES_REPLY (xid=0x2): dpid:00004a6cdb36e948 n_tables:254, n_buffers:0 capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP actions: output enqueue ext_action set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst 3(tap1-1-0): addr:d2:90:f6:f9:e6:21 config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max 4(pvi1-1-0): addr:ba:2d:6c:d6:b7:ce config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max LOCAL(ply1-1-0): addr:4a:6c:db:36:e9:48 config: 0 state: 0 current: 10MB-FD COPPER speed: 10 Mbps now, 0 Mbps max OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0 # ovs-vsctl show Bridge "ply1-1-0" fail_mode: secure Port "ply1-1-0" Interface "ply1-1-0" type: internal Port "pvi1-1-0" tag: 4093 Interface "pvi1-1-0" type: patch options: {peer="pvo1-1-0"} Port "tap1-1-0" tag: 4092 Interface "tap1-1-0" type: virtio
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss