[ovs-dev] [PATCH 2/6] vxlan: Group Policy extension

Thomas Graf tgraf at suug.ch
Mon Jan 12 22:47:49 UTC 2015


On 01/12/15 at 11:23am, Jesse Gross wrote:
> On Mon, Jan 12, 2015 at 4:26 AM, Thomas Graf <tgraf at suug.ch> wrote:
> > diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
> > index 4d52aa9..b148739 100644
> > --- a/drivers/net/vxlan.c
> > +++ b/drivers/net/vxlan.c
> > @@ -568,7 +569,8 @@ static struct sk_buff **vxlan_gro_receive(struct sk_buff **head, struct sk_buff
> >                         continue;
> >
> >                 vh2 = (struct vxlanhdr *)(p->data + off_vx);
> > -               if (vh->vx_vni != vh2->vx_vni) {
> > +               if (vh->vx_flags != vh2->vx_flags ||
> > +                   vh->vx_vni != vh2->vx_vni) {
> 
> It's probably better to do a memcmp over the entire header. There's no
> guarantee that new fields will be entirely represented by flags.

vx_flags covers the entire first 32 bit of vxlanhdr so it's
equivalent to a memcmp() already. I can change it to memcmp() if
you think that's more readable.

> 
> > diff --git a/net/openvswitch/vport-vxlan.c b/net/openvswitch/vport-vxlan.c
> > index d7c46b3..dd68c97 100644
> > --- a/net/openvswitch/vport-vxlan.c
> > +++ b/net/openvswitch/vport-vxlan.c
> > @@ -146,6 +147,7 @@ static int vxlan_tnl_send(struct vport *vport, struct sk_buff *skb)
> >         struct vxlan_port *vxlan_port = vxlan_vport(vport);
> >         __be16 dst_port = inet_sk(vxlan_port->vs->sock->sk)->inet_sport;
> >         struct ovs_key_ipv4_tunnel *tun_key;
> > +       struct vxlan_metadata md;
> 
> It might be a good idea to zero out 'md', even if not strictly required.

Sure



More information about the dev mailing list