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" <[email protected]> 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
[email protected]
http://openvswitch.org/mailman/listinfo/dev