It's not a bug. I think that you should read our research paper from NSDI 2015. It explains how OVS megaflows work: http://openvswitch.org/support/papers/nsdi2015.pdf
On Sat, Mar 19, 2016 at 05:21:00PM +0800, Peng He wrote: > Hi, Ben, > I am not sure if this is a bug, but I think it probably is as the bit > mask is not discontiguous, > it can not reserve enough bits for a megaflow? Or this is intended to cache > as less bits as possible? (a feature?) > > > > > > > At 2016-03-18 23:38:04, "Ben Pfaff" <b...@ovn.org> wrote: > >On Fri, Mar 18, 2016 at 05:02:41PM +0800, Peng He wrote: > >> Hi, I send this email once, no people replied. I am trying to refresh this > >> email for a reply. > >> This discontiguous bit mask issue arises in the following case: > >> > >> > >> I installed two rules, > >> > >> > >> ovs-ofctl add-flow br0 > >> in_port=1,dl_type=0x0800,nw_src=10.2.10.0/24,nw_proto=6,tcp_dst=0x0050,priority=1,actions=drop > >> ovs-ofctl add-flow br0 > >> in_port=1,dl_type=0x0800,nw_src=10.2.0.0/16,nw_proto=6,tcp_dst=0x1f90,priority=1,actions=drop > >> > >> > >> and test the rules with packet (nw_src = 10.2.2.1 and tcp_dst = 8080). I > >> got the nw_src mask (in network byte order) 0x8ffff. > >> Even you change it to host byte order the bit mask still has discontiguous > >> 1-bits 0xFFFF08 = 1111 1111 1111 1111 0000 1000. > > > >This looks correct to me. Are you reporting a bug? If so, what is it? > > > >Here's how to reproduce this setup, under "make sandbox": > > > > ovs-vsctl add-br br0 > > ovs-ofctl del-flows br0 > > ovs-ofctl add-flow br0 > > in_port=1,dl_type=0x0800,nw_src=10.2.10.0/24,nw_proto=6,tcp_dst=0x0050,priority=1,actions=drop > > ovs-ofctl add-flow br0 > > in_port=1,dl_type=0x0800,nw_src=10.2.0.0/16,nw_proto=6,tcp_dst=0x1f90,priority=1,actions=drop > > ovs-appctl ofproto/trace br0 tcp,in_port=1,nw_src=10.2.2.1,tcp_dst=8080 > > > >The output is: > > > > Bridge: br0 > > Flow: > > tcp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,nw_src=10.2.2.1,nw_dst=0.0.0.0,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=0,tp_dst=8080,tcp_flags=0 > > > > Rule: table=0 cookie=0 > > priority=1,tcp,in_port=1,nw_src=10.2.0.0/16,tp_dst=8080 > > OpenFlow actions=drop > > > > Final flow: > > tcp,in_port=1,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,nw_src=10.2.2.1,nw_dst=0.0.0.0,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=1,nw_src=10.2.0.0/255.255.8.0,nw_frag=no,tp_dst=8080 > > Datapath actions: drop _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev