Thx for the review, applied to master,

On Wed, Jul 23, 2014 at 9:46 AM, Pravin Shelar <pshe...@nicira.com> wrote:

> On Tue, Jul 22, 2014 at 11:36 PM, Alex Wang <al...@nicira.com> wrote:
> > Commit 62974663fe (datapath/flow_netlink: Create right mask with
> > disabled megaflows) introduced the bug which caused
> > ovs_nla_get_match() returns immediately after parsing the flow
> > mask for OVS_KEY_ATTR_ENCAP.  Consequently, when vlan encapsulated
> > packets are present, the corresponding datapath flows will have
> > incorrect mask like below.  And the incorrect flows could affect
> > other non-vlan packets.
> >
> > ~/ovs# ovs-dpctl dump-flows
> > in_port(3/0xffff0000),eth_type(0x8100),encap(), packets:0,
> > bytes:0, used:never, actions:2
> >
> > This commit fixes the bug by checking and handling the return
> > value of the parsing function correctly.
> >
> > Signed-off-by: Alex Wang <al...@nicira.com>
>
> Thanks for fixing it.
>
> Acked-by: Pravin B Shelar <pshe...@nicira.com>
>
> > ---
> >  datapath/flow_netlink.c |    3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c
> > index 5f975a1..445fa88 100644
> > --- a/datapath/flow_netlink.c
> > +++ b/datapath/flow_netlink.c
> > @@ -938,7 +938,8 @@ int ovs_nla_get_match(struct sw_flow_match *match,
> >                                 mask_attrs &= ~(1ULL <<
> OVS_KEY_ATTR_ETHERTYPE);
> >                                 encap = a[OVS_KEY_ATTR_ENCAP];
> >                                 err = parse_flow_mask_nlattrs(encap, a,
> &mask_attrs);
> > -                               goto free_newmask;
> > +                               if (err)
> > +                                       goto free_newmask;
> >                         } else {
> >                                 OVS_NLERR("VLAN frames must have an
> exact match on the TPID (mask=%x).\n",
> >                                                 ntohs(eth_type));
> > --
> > 1.7.9.5
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to