netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [datapath minor fixes 0/3] datapath minor fixes
@ 2014-10-01  7:55 Andy Zhou
  2014-10-01  7:55 ` [datapath minor fixes 1/3] datapath: avoid hard code OVS_VPORT_TYPE_GENEVE Andy Zhou
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Andy Zhou @ 2014-10-01  7:55 UTC (permalink / raw)
  To: davem; +Cc: netdev, Andy Zhou

A few small issues found in preparing for GENEVE support upstreaming

*** BLURB HERE ***

Andy Zhou (3):
  datapath: avoid hard code OVS_VPORT_TYPE_GENEVE
  datapath: avoid double free routing entry in vxlan_port xmit
  datapath: serializing GENEVE options based on flow key's tun_flags

 datapath/flow_netlink.c                           | 2 +-
 datapath/linux/compat/include/linux/openvswitch.h | 2 +-
 datapath/vport-vxlan.c                            | 2 --
 3 files changed, 2 insertions(+), 4 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [datapath minor fixes 1/3] datapath: avoid hard code OVS_VPORT_TYPE_GENEVE
  2014-10-01  7:55 [datapath minor fixes 0/3] datapath minor fixes Andy Zhou
@ 2014-10-01  7:55 ` Andy Zhou
  2014-10-01  7:55 ` [datapath minor fixes 2/3] datapath: avoid double free routing entry in vxlan_port xmit Andy Zhou
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Andy Zhou @ 2014-10-01  7:55 UTC (permalink / raw)
  To: davem; +Cc: netdev, Andy Zhou

OVS_VPORT_TYPE_GENEVE is currently hard coded to 6. This is not
necessary since slot 5 has not been taken yet. Drop the hard
coded value to before upstreaming GENEVE support to Linux kernel.

Signed-off-by: Andy Zhou <azhou@nicira.com>
---
 datapath/linux/compat/include/linux/openvswitch.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/datapath/linux/compat/include/linux/openvswitch.h b/datapath/linux/compat/include/linux/openvswitch.h
index 306ea86..5d40da5 100644
--- a/datapath/linux/compat/include/linux/openvswitch.h
+++ b/datapath/linux/compat/include/linux/openvswitch.h
@@ -222,7 +222,7 @@ enum ovs_vport_type {
 	OVS_VPORT_TYPE_INTERNAL, /* network device implemented by datapath */
 	OVS_VPORT_TYPE_GRE,	 /* GRE tunnel. */
 	OVS_VPORT_TYPE_VXLAN,    /* VXLAN tunnel */
-	OVS_VPORT_TYPE_GENEVE = 6,  /* Geneve tunnel */
+	OVS_VPORT_TYPE_GENEVE,   /* Geneve tunnel */
 	OVS_VPORT_TYPE_GRE64 = 104, /* GRE tunnel with 64-bit keys */
 	OVS_VPORT_TYPE_LISP = 105,  /* LISP tunnel */
 	__OVS_VPORT_TYPE_MAX
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [datapath minor fixes 2/3] datapath: avoid double free routing entry in vxlan_port xmit
  2014-10-01  7:55 [datapath minor fixes 0/3] datapath minor fixes Andy Zhou
  2014-10-01  7:55 ` [datapath minor fixes 1/3] datapath: avoid hard code OVS_VPORT_TYPE_GENEVE Andy Zhou
@ 2014-10-01  7:55 ` Andy Zhou
  2014-10-01  7:55 ` [datapath minor fixes 3/3] datapath: serializing GENEVE options based on flow key's tun_flags Andy Zhou
  2014-10-01  7:59 ` [datapath minor fixes 0/3] datapath minor fixes Andy Zhou
  3 siblings, 0 replies; 5+ messages in thread
From: Andy Zhou @ 2014-10-01  7:55 UTC (permalink / raw)
  To: davem; +Cc: netdev, Andy Zhou

Route entry will be free on error by vport when freeing skb.
additional error check and free after xmit() will cause double free.

Signed-off-by: Andy Zhou <azhou@nicira.com>
---
 datapath/vport-vxlan.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/datapath/vport-vxlan.c b/datapath/vport-vxlan.c
index 8689853..44968d0 100644
--- a/datapath/vport-vxlan.c
+++ b/datapath/vport-vxlan.c
@@ -180,8 +180,6 @@ static int vxlan_tnl_send(struct vport *vport, struct sk_buff *skb)
 			     tun_key->ipv4_ttl, df,
 			     src_port, dst_port,
 			     htonl(be64_to_cpu(tun_key->tun_id) << 8));
-	if (err < 0)
-		ip_rt_put(rt);
 error:
 	return err;
 }
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [datapath minor fixes 3/3] datapath: serializing GENEVE options based on flow key's tun_flags
  2014-10-01  7:55 [datapath minor fixes 0/3] datapath minor fixes Andy Zhou
  2014-10-01  7:55 ` [datapath minor fixes 1/3] datapath: avoid hard code OVS_VPORT_TYPE_GENEVE Andy Zhou
  2014-10-01  7:55 ` [datapath minor fixes 2/3] datapath: avoid double free routing entry in vxlan_port xmit Andy Zhou
@ 2014-10-01  7:55 ` Andy Zhou
  2014-10-01  7:59 ` [datapath minor fixes 0/3] datapath minor fixes Andy Zhou
  3 siblings, 0 replies; 5+ messages in thread
From: Andy Zhou @ 2014-10-01  7:55 UTC (permalink / raw)
  To: davem; +Cc: netdev, Andy Zhou

TUNNEL_OPTIONS_PRESENT should always be checked against the tun_flgs
bits in a flow key, for both flow and mask serialization.

Signed-off-by: Andy Zhou <azhou@nicira.com>
---
 datapath/flow_netlink.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c
index a3f34f1..35feedc 100644
--- a/datapath/flow_netlink.c
+++ b/datapath/flow_netlink.c
@@ -1122,7 +1122,7 @@ int ovs_nla_put_flow(const struct sw_flow_key *swkey,
 	if ((swkey->tun_key.ipv4_dst || is_mask)) {
 		const struct geneve_opt *opts = NULL;
 
-		if (output->tun_key.tun_flags & TUNNEL_OPTIONS_PRESENT)
+		if (swkey->tun_key.tun_flags & TUNNEL_OPTIONS_PRESENT)
 			opts = GENEVE_OPTS(output, swkey->tun_opts_len);
 
 		if (ipv4_tun_to_nlattr(skb, &output->tun_key, opts,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [datapath minor fixes 0/3] datapath minor fixes
  2014-10-01  7:55 [datapath minor fixes 0/3] datapath minor fixes Andy Zhou
                   ` (2 preceding siblings ...)
  2014-10-01  7:55 ` [datapath minor fixes 3/3] datapath: serializing GENEVE options based on flow key's tun_flags Andy Zhou
@ 2014-10-01  7:59 ` Andy Zhou
  3 siblings, 0 replies; 5+ messages in thread
From: Andy Zhou @ 2014-10-01  7:59 UTC (permalink / raw)
  To: David Miller; +Cc: netdev@vger.kernel.org, Andy Zhou

Please ignore this series. I meant to send them to dev@openvswitch.com.

On Wed, Oct 1, 2014 at 12:55 AM, Andy Zhou <azhou@nicira.com> wrote:
> A few small issues found in preparing for GENEVE support upstreaming
>
> *** BLURB HERE ***
>
> Andy Zhou (3):
>   datapath: avoid hard code OVS_VPORT_TYPE_GENEVE
>   datapath: avoid double free routing entry in vxlan_port xmit
>   datapath: serializing GENEVE options based on flow key's tun_flags
>
>  datapath/flow_netlink.c                           | 2 +-
>  datapath/linux/compat/include/linux/openvswitch.h | 2 +-
>  datapath/vport-vxlan.c                            | 2 --
>  3 files changed, 2 insertions(+), 4 deletions(-)
>
> --
> 1.9.1
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-10-01  7:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-01  7:55 [datapath minor fixes 0/3] datapath minor fixes Andy Zhou
2014-10-01  7:55 ` [datapath minor fixes 1/3] datapath: avoid hard code OVS_VPORT_TYPE_GENEVE Andy Zhou
2014-10-01  7:55 ` [datapath minor fixes 2/3] datapath: avoid double free routing entry in vxlan_port xmit Andy Zhou
2014-10-01  7:55 ` [datapath minor fixes 3/3] datapath: serializing GENEVE options based on flow key's tun_flags Andy Zhou
2014-10-01  7:59 ` [datapath minor fixes 0/3] datapath minor fixes Andy Zhou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).