What is "delay shaking"? On Tue, Mar 12, 2019 at 12:52:25PM +0000, sunquanying wrote: > 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 _______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss