[ovs-discuss] ping6 delay shaking with nd_target

Ben Pfaff blp at ovn.org
Fri Mar 15 23:21:06 UTC 2019


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
> discuss at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss



More information about the discuss mailing list