[ovs-discuss] A bug on openswitch

Ben Pfaff blp at ovn.org
Wed Feb 7 18:37:50 UTC 2018


Please trace the actual flow that shows up in dump-flows.

On Wed, Feb 07, 2018 at 09:16:34AM +0800, a***** wrote:
> Using ofproto/trace tracking, the feedback datapath port is correct, but the port that is forwarded in ovs-dpctl is wrong.
> 
> 
> ofproto/trace
> Datapath actions: set(eth(src=00:00:00:00:00:00,dst=00:0b:82:a6:45:50)),set(ipv4(src=0.0.0.0/128.0.0.0,dst=192.168.1.129)),set(tcp(src=0,dst=8080)),1
> The datapath actions output to datapath port 1.
> ovs-dpctl dump-flows
> recirc_id(0),in_port(4),eth(src=78:02:f8:29:cb:58,dst=00:0b:82:92:21:db),eth_type(0x0800),ipv4(src=192.168.1.64/255.255.255.192,dst=203.100.92.31,proto=6,frag=no),tcp(src=59765,dst=80), packets:4, bytes:296, used:3.980s, flags:S, actions:set(eth(src=78:02:f8:29:cb:58,dst=00:0b:82:a6:45:50)),set(ipv4(src=192.168.1.64/255.255.255.192,dst=192.168.1.129)),set(tcp(src=59765,dst=8080)),2
> The datapath actions output to datapath port 2.
> 
> 
> 
> Now can you understand what the problem is?
> 
> 
> --
> 
> --------
> 博学之,审问之,慎思之,明辨之,笃行之。
> --------
> Albert Xie
> 
> 
> 
> At 2018-02-07 01:39:51, "Ben Pfaff" <blp at ovn.org> wrote:
> >I don't see the problem.  The datapath actions output to datapath port
> >1, which is br-lan0_zone0, e.g. LOCAL.
> >
> >On Tue, Feb 06, 2018 at 09:24:36AM +0800, a***** wrote:
> >> ovs-appctl ofproto/trace br-lan0_zone0 "in_port=2,tcp,tp_dst=80" -generate
> >> 
> >> 
> >> Bridge: br-lan0_zone0
> >> Flow: tcp,in_port=2,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,nw_src=0.0.0.0,nw_dst=0.0.0.0,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=0,tp_dst=80,tcp_flags=0
> >> 
> >> 
> >> Rule: table=0 cookie=0x1 priority=3,tcp,in_port=2,tp_dst=80
> >> OpenFlow actions=learn(table=0,idle_timeout=60,hard_timeout=120,priority=100,in_port=LOCAL,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],eth_type=0x800,nw_proto=6,tcp_src=8080,NXM_OF_TCP_DST[]=NXM_OF_TCP_SRC[],load:NXM_OF_IP_DST[]->NXM_OF_IP_SRC[],load:NXM_OF_ETH_DST[]->NXM_OF_ETH_SRC[],load:NXM_OF_TCP_DST[]->NXM_OF_TCP_SRC[],output:NXM_OF_IN_PORT[]),mod_dl_dst:00:0b:82:a6:45:50,mod_nw_dst:192.168.1.129,mod_tp_dst:8080,LOCAL
> >> 
> >> 
> >> Final flow: tcp,in_port=2,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:0b:82:a6:45:50,nw_src=0.0.0.0,nw_dst=192.168.1.129,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=0,tp_dst=8080,tcp_flags=0
> >> Megaflow: recirc_id=0,tcp,in_port=2,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,nw_src=0.0.0.0/1,nw_dst=0.0.0.0,nw_frag=no,tp_src=0,tp_dst=80
> >> Datapath actions: set(eth(src=00:00:00:00:00:00,dst=00:0b:82:a6:45:50)),set(ipv4(src=0.0.0.0/128.0.0.0,dst=192.168.1.129)),set(tcp(src=0,dst=8080)),1
> >> 
> >> 
> >> This problem is accidental, but the frequency is relatively high. I tracked this problem, but I could not know where the flow was modified.
> >> I saw a problem in the OVS discussion group, about the mismatch of behavior when using lxia to test.(https://mail.openvswitch.org/pipermail/ovs-discuss/2017-April/044130.html)
> >> It looks like a similar problem. I think there may be some logical errors inside the OVS. I believe that in your environment, as long as patient testing, it is easy to reappear.
> >> Please take it seriously, and I want to know how this problem comes into being.
> >> 
> >> 
> >> --
> >> 
> >> --------
> >> 博学之,审问之,慎思之,明辨之,笃行之。
> >> --------
> >> Albert Xie
> >> 
> >> 
> >> 
> >> At 2018-02-06 01:04:16, "Ben Pfaff" <blp at ovn.org> wrote:
> >> >I suggest using ofproto/trace to figure it out.  See ovs-vswitchd(8) for
> >> >details.
> >> >
> >> >On Sat, Feb 03, 2018 at 07:42:10PM +0800, a***** wrote:
> >> >> Hi,all
> >> >> 
> >> >> 
> >> >> I recently found a bug about OVS, which was supposed to be sent to local but was sent to eth0!
> >> >> Can you tell me why? I need help, thank you very much.
> >> >> 
> >> >> 
> >> >> recirc_id(0),in_port(4),eth(src=78:02:f8:29:cb:58,dst=00:0b:82:92:21:db),eth_type(0x0800),ipv4(src=192.168.1.64/255.255.255.192,dst=203.100.92.31,proto=6,frag=no),tcp(src=59765,dst=80), packets:4, bytes:296, used:3.980s, flags:S, actions:set(eth(src=78:02:f8:29:cb:58,dst=00:0b:82:a6:45:50)),set(ipv4(src=192.168.1.64/255.255.255.192,dst=192.168.1.129)),set(tcp(src=59765,dst=8080)),2
> >> >> 
> >> >> 
> >> >> system at ovs-system:
> >> >>         lookups: hit:4226 missed:543 lost:0
> >> >>         flows: 14
> >> >>         masks: hit:22261 total:8 hit/pkt:4.67
> >> >>         port 0: ovs-system (internal)
> >> >>         port 1: br-lan0_zone0 (internal)
> >> >>         port 2: eth0
> >> >>         port 3: ath0
> >> >>         port 4: ath1
> >> >> 
> >> >> 
> >> >> 
> >> >> 
> >> >> cookie=0x1, duration=444.585s, table=0, n_packets=1224, n_bytes=232770, idle_age=24, priority=3,tcp,in_port=2,tp_dst=80 actions=learn(table=0,idle_timeout=60,hard_timeout=120,priority=100,in_port=LOCAL,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],eth_type=0x800,nw_proto=6,tcp_src=8080,NXM_OF_TCP_DST[]=NXM_OF_TCP_SRC[],load:NXM_OF_IP_DST[]->NXM_OF_IP_SRC[],load:NXM_OF_ETH_DST[]->NXM_OF_ETH_SRC[],load:NXM_OF_TCP_DST[]->NXM_OF_TCP_SRC[],output:NXM_OF_IN_PORT[]),mod_dl_dst:00:0b:82:a6:45:50,mod_nw_dst:192.168.1.129,mod_tp_dst:8080,LOCAL
> >> >> 
> >> >> 
> >> >> OFPT_FEATURES_REPLY (xid=0x2): dpid:0000000b82a64550
> >> >> n_tables:254, n_buffers:256
> >> >> capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
> >> >> actions: output enqueue 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
> >> >>  1(ath0): addr:00:0b:82:a6:45:51
> >> >>      config:     0
> >> >>      state:      0
> >> >>      speed: 0 Mbps now, 0 Mbps max
> >> >>  2(ath1): addr:00:0b:82:a6:45:52
> >> >>      config:     0
> >> >>      state:      0
> >> >>      speed: 0 Mbps now, 0 Mbps max
> >> >>  101(eth0): addr:00:0b:82:a6:45:50
> >> >>      config:     0
> >> >>      state:      0
> >> >>      current:    COPPER AUTO_NEG
> >> >>      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER FIBER AUTO_NEG AUTO_PAUSE AUTO_PAUSE_ASYM
> >> >>      speed: 0 Mbps now, 0 Mbps max
> >> >>  LOCAL(br-lan0_zone0): addr:00:0b:82:a6:45:50
> >> >>      config:     0
> >> >>      state:      0
> >> >>      speed: 0 Mbps now, 0 Mbps max
> >> >> OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0
> >> >> 
> >> >> 
> >> >> --
> >> >> 
> >> >> --------
> >> >> 博学之,审问之,慎思之,明辨之,笃行之。
> >> >> --------
> >> >> Albert Xie
> >> >
> >> >> _______________________________________________
> >> >> discuss mailing list
> >> >> discuss at openvswitch.org
> >> >> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


More information about the discuss mailing list