[ovs-dev] dd

2016-09-14 Thread NIMESH JAIN 4-Yr B.Tech. Chemical Engg., IIT (BHU)

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] dd

2016-09-14 Thread NIMESH JAIN 4-Yr B.Tech. Chemical Engg., IIT (BHU)

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH] ofp-parse: Fix sparse warnings about comparing ofp_port_ts.

2016-09-14 Thread Ben Pfaff
Without this, sparse complains:

lib/ofp-parse.c:588:19: warning: restricted ofp_port_t degrades to integer
lib/ofp-parse.c:588:31: warning: restricted ofp_port_t degrades to integer

This is one of the irritating bits of using sparse, but on the whole I
think it saves us pretty often.

CC: Jarno Rajahalme 
Fixes: 6dd3c787f591 ("ofproto: Support packet_outs in bundles.")
Signed-off-by: Ben Pfaff 
---
 lib/ofp-parse.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c
index 0568fc7..a347b53 100644
--- a/lib/ofp-parse.c
+++ b/lib/ofp-parse.c
@@ -585,7 +585,8 @@ parse_ofp_packet_out_str__(struct ofputil_packet_out *po, 
char *string,
 error = xasprintf("%s is not a valid OpenFlow port", value);
 goto out;
 }
-if (po->in_port > OFPP_MAX && po->in_port != OFPP_LOCAL
+if (ofp_to_u16(po->in_port) > ofp_to_u16(OFPP_MAX)
+&& po->in_port != OFPP_LOCAL
 && po->in_port != OFPP_NONE
 && po->in_port != OFPP_CONTROLLER) {
 error = xasprintf(
-- 
2.1.3

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH 1/2] ofproto: Remove double reporting from bundles.

2016-09-14 Thread Ben Pfaff
On Wed, Sep 14, 2016 at 07:25:34PM -0700, Jarno Rajahalme wrote:
> Patch b0d38b2f17 unified flow mod reporting in ofproto for both
> stand-alone flow mods and bundle flow mods, but left bundle-specific
> reporting to the bundle removal code.  This patch fixes this by
> removing the bundle-specific reporting of flow mods.
> 
> Found by inspection.
> 
> Fixes: b0d38b2f17 ("ofproto: Report flow mods also from bundles.")
> Signed-off-by: Jarno Rajahalme 

Nice.

Should this be covered by a test?

Acked-by: Ben Pfaff 
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH 2/2] NEWS: Memory efficiency improvements.

2016-09-14 Thread Ben Pfaff
On Wed, Sep 14, 2016 at 07:25:35PM -0700, Jarno Rajahalme wrote:
> Mention both flow table and bundle memory efficiency improvements.
> 
> Signed-off-by: Jarno Rajahalme 

Acked-by: Ben Pfaff 
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v2] xlate: Use dp_hash for select groups.

2016-09-14 Thread Ben Pfaff
On Wed, Sep 14, 2016 at 08:51:42PM -0700, Ben Pfaff wrote:
> On Mon, Sep 12, 2016 at 04:16:08PM -0700, Jarno Rajahalme wrote:
> > Add a new select group selection method "dp_hash", which uses minimal
> > number of bits from the datapath calculated packet hash to inform the
> > select group bucket selection.  This makes the datapath flows more
> > generic resulting in less upcalls to userspace, but adds recirculation
> > prior to group selection.
> > 
> > Signed-off-by: Jarno Rajahalme 
> > ---
> > v2: Rebase and documentation.
> 
> Thanks for adding the documentation!  It describes the syntax, which is
> useful.  To make it even more helpful, I would suggest adding some
> advice to the user to explain when one might best choose one or the
> other.
> 
> I think that the dp_hash method ignores fields specified by the user if
> any are given, so the documentation might mention that for dp_hash the
> "fields" option should be omitted.
> 
> Thanks!
> 
> Acked-by: Ben Pfaff 

Oh, I forgot to say that I get a compiler warning:

../ofproto/ofproto-dpif-xlate.c: In function 'xlate_dp_hash_select_group':
../ofproto/ofproto-dpif-xlate.c:3410:32: error: variable 'buckets' set but 
not used [-Werror=unused-but-set-variable]
 const struct ovs_list *buckets;

Fixed by:

diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index c83132c..a74daa7 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -3407,10 +3407,8 @@ xlate_dp_hash_select_group(struct xlate_ctx *ctx, struct 
group_dpif *group)
 
 ctx_trigger_recirculate_with_hash(ctx, param >> 32, (uint32_t)param);
 } else {
-const struct ovs_list *buckets;
 uint32_t n_buckets;
-
-buckets = group_dpif_get_buckets(group, _buckets);
+group_dpif_get_buckets(group, _buckets);
 if (n_buckets) {
 /* Minimal mask to cover the number of buckets. */
 uint32_t mask = (1 << log_2_ceil(n_buckets)) - 1;
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v2] xlate: Use dp_hash for select groups.

2016-09-14 Thread Ben Pfaff
On Mon, Sep 12, 2016 at 04:16:08PM -0700, Jarno Rajahalme wrote:
> Add a new select group selection method "dp_hash", which uses minimal
> number of bits from the datapath calculated packet hash to inform the
> select group bucket selection.  This makes the datapath flows more
> generic resulting in less upcalls to userspace, but adds recirculation
> prior to group selection.
> 
> Signed-off-by: Jarno Rajahalme 
> ---
> v2: Rebase and documentation.

Thanks for adding the documentation!  It describes the syntax, which is
useful.  To make it even more helpful, I would suggest adding some
advice to the user to explain when one might best choose one or the
other.

I think that the dp_hash method ignores fields specified by the user if
any are given, so the documentation might mention that for dp_hash the
"fields" option should be omitted.

Thanks!

Acked-by: Ben Pfaff 
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] stream-unix: only use path-based socket names

2016-09-14 Thread Ben Pfaff
On Fri, Sep 09, 2016 at 02:23:17PM -0700, Joe Stringer wrote:
> On 9 September 2016 at 14:05, Ben Pfaff  wrote:
> > On Fri, Sep 09, 2016 at 01:47:01PM -0700, Joe Stringer wrote:
> >> On 19 July 2016 at 20:08, Ben Pfaff  wrote:
> >> > On Tue, Jul 19, 2016 at 05:05:51PM -0300, Thadeu Lima de Souza Cascardo 
> >> > wrote:
> >> >> FreeBSD returns a socklen of sockaddr_storage when doing an accept on 
> >> >> an unix
> >> >> STREAM socket. The current code will assume it means a sun_path larger 
> >> >> than 0.
> >> >>
> >> >> That breaks some tests like the one below which don't expect to find 
> >> >> "unix::" on
> >> >> the logs.
> >> >>
> >> >> As a Linux abstract address would not have a more useful name either, 
> >> >> it's
> >> >> better to check that sun_path starts with a non-zero byte and return 0 
> >> >> length in
> >> >> case it doesn't.
> >> >>
> >> >> 402: ovs-ofctl replace-flows with --bundle  FAILED 
> >> >> (ovs-ofctl.at:2928)
> >> >> 2016-07-08T12:44:30.068Z|00020|vconn|DBG|unix:: sent (Success): 
> >> >> OFPT_HELLO (OF1.6) (xid=0x1):
> >> >>
> >> >> Signed-off-by: Thadeu Lima de Souza Cascardo 
> >> >
> >> > Applied, thanks!
> >>
> >> For what it's worth, this introduces a warning on my Linux x86_64
> >> machine with valgrind:
> >>
> >> ==18725== Conditional jump or move depends on uninitialised value(s)
> >> ==18725==at 0x45BF65: get_unix_name_len (socket-util-unix.c:392)
> >> ==18725==by 0x45C842: punix_accept (stream-unix.c:113)
> >> ==18725==by 0x46897B: pfd_accept (stream-fd.c:263)
> >> ==18725==by 0x44CF6F: pstream_accept (stream.c:557)
> >> ==18725==by 0x44FE6C: unixctl_server_run (unixctl.c:385)
> >> ==18725==by 0x4081AC: main_loop (ovsdb-server.c:182)
> >> ==18725==by 0x406432: main (ovsdb-server.c:429)
> >
> > Does this help?
> >
> > diff --git a/lib/socket-util-unix.c b/lib/socket-util-unix.c
> > index 5d4b88c..a7a7e03 100644
> > --- a/lib/socket-util-unix.c
> > +++ b/lib/socket-util-unix.c
> > @@ -389,7 +389,7 @@ error:
> >  int
> >  get_unix_name_len(const struct sockaddr_un *sun, socklen_t sun_len)
> >  {
> > -return (sun_len >= offsetof(struct sockaddr_un, sun_path) &&
> > +return (sun_len > offsetof(struct sockaddr_un, sun_path) &&
> >  sun->sun_path[0] != 0
> >  ? sun_len - offsetof(struct sockaddr_un, sun_path)
> >  : 0);
> 
> Yup, I don't see the valgrind warning with this change applied.

Thanks for testing.

I sent this formally for review:
https://patchwork.ozlabs.org/patch/670199/
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH] socket-util-unix: Avoid buffer read overrun in get_unix_name_len().

2016-09-14 Thread Ben Pfaff
If the socket length does not include any of the bytes of the path, then
the code should not read even the first byte of the path.

Found by valgrind.

CC: Thadeu Lima de Souza Cascardo 
Reported-by: Joe Stringer 
Signed-off-by: Ben Pfaff 
---
 lib/socket-util-unix.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/socket-util-unix.c b/lib/socket-util-unix.c
index 5d4b88c..59f63fc 100644
--- a/lib/socket-util-unix.c
+++ b/lib/socket-util-unix.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Nicira, Inc.
+ * Copyright (c) 2014, 2016 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -389,7 +389,7 @@ error:
 int
 get_unix_name_len(const struct sockaddr_un *sun, socklen_t sun_len)
 {
-return (sun_len >= offsetof(struct sockaddr_un, sun_path) &&
+return (sun_len > offsetof(struct sockaddr_un, sun_path) &&
 sun->sun_path[0] != 0
 ? sun_len - offsetof(struct sockaddr_un, sun_path)
 : 0);
-- 
2.1.3

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] ovn: make ipam tests more reliable

2016-09-14 Thread Ben Pfaff
On Wed, Sep 14, 2016 at 08:23:44PM -0400, Lance Richardson wrote:
> > From: "Ben Pfaff" 
> > To: "Lance Richardson" 
> > Cc: dev@openvswitch.org
> > Sent: Wednesday, September 14, 2016 8:03:16 PM
> > Subject: Re: [ovs-dev] [PATCH] ovn: make ipam tests more reliable
> > 
> > On Wed, Sep 14, 2016 at 07:30:50PM -0400, Lance Richardson wrote:
> > > After adding log messages to better understand  IPAM-related code
> > > in ovn northd, the IPAM tests began to fail occasionally. Adding
> > > --wait=sb to commands triggering address allocation eliminated
> > > these failures (there were no failures with 100 executions when
> > > testing with this change).
> > > 
> > > Signed-off-by: Lance Richardson 
> > 
> > I think that this adds more "--wait"s than strictly necessary (it's only
> > really useful on the last ovn-nbctl call in a series of them) but that's
> > not really harmful (except to performance), so I applied it to master
> > and branch-2.6.
> > 
> I did wonder whether it might be worthwhile to avoid the --wait
> in each iteration of the loop and just have one --wait after the loop, but
> I wasn't sure about the best way to go about doing that.

One option is to add a separate "ovn-nbctl --wait=sb sync" command after
the changes.

> This was the first time I had tried using the --wait option, it's a nice
> addition and much better than trying to band-aid with sleeps.

I am not sure that it is completely fail-safe at this point, but I think
it is a big step forward.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH 1/2] ofproto: Remove double reporting from bundles.

2016-09-14 Thread Jarno Rajahalme
Patch b0d38b2f17 unified flow mod reporting in ofproto for both
stand-alone flow mods and bundle flow mods, but left bundle-specific
reporting to the bundle removal code.  This patch fixes this by
removing the bundle-specific reporting of flow mods.

Found by inspection.

Fixes: b0d38b2f17 ("ofproto: Report flow mods also from bundles.")
Signed-off-by: Jarno Rajahalme 
---
 ofproto/bundles.c | 20 +++-
 ofproto/bundles.h |  2 +-
 ofproto/connmgr.c |  4 ++--
 ofproto/ofproto.c |  2 +-
 4 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/ofproto/bundles.c b/ofproto/bundles.c
index e0b4b7d..24ea1ae 100644
--- a/ofproto/bundles.c
+++ b/ofproto/bundles.c
@@ -62,16 +62,11 @@ ofp_bundle_create(uint32_t id, uint16_t flags, const struct 
ofp_header *oh)
 }
 
 void
-ofp_bundle_remove__(struct ofconn *ofconn, struct ofp_bundle *bundle,
-bool success)
+ofp_bundle_remove__(struct ofconn *ofconn, struct ofp_bundle *bundle)
 {
 struct ofp_bundle_entry *msg;
 
 LIST_FOR_EACH_POP (msg, node, >msg_list) {
-if (success && msg->type == OFPTYPE_FLOW_MOD) {
-/* Tell connmgr about successful flow mods. */
-ofconn_report_flow_mod(ofconn, msg->ofm.command);
-}
 ofp_bundle_entry_free(msg);
 }
 
@@ -90,7 +85,7 @@ ofp_bundle_open(struct ofconn *ofconn, uint32_t id, uint16_t 
flags,
 
 if (bundle) {
 VLOG_INFO("Bundle %x already exists.", id);
-ofp_bundle_remove__(ofconn, bundle, false);
+ofp_bundle_remove__(ofconn, bundle);
 
 return OFPERR_OFPBFC_BAD_ID;
 }
@@ -116,12 +111,12 @@ ofp_bundle_close(struct ofconn *ofconn, uint32_t id, 
uint16_t flags)
 }
 
 if (bundle->state == BS_CLOSED) {
-ofp_bundle_remove__(ofconn, bundle, false);
+ofp_bundle_remove__(ofconn, bundle);
 return OFPERR_OFPBFC_BUNDLE_CLOSED;
 }
 
 if (bundle->flags != flags) {
-ofp_bundle_remove__(ofconn, bundle, false);
+ofp_bundle_remove__(ofconn, bundle);
 return OFPERR_OFPBFC_BAD_FLAGS;
 }
 
@@ -141,8 +136,7 @@ ofp_bundle_discard(struct ofconn *ofconn, uint32_t id)
 return OFPERR_OFPBFC_BAD_ID;
 }
 
-ofp_bundle_remove__(ofconn, bundle, false);
-
+ofp_bundle_remove__(ofconn, bundle);
 return 0;
 }
 
@@ -165,10 +159,10 @@ ofp_bundle_add_message(struct ofconn *ofconn, uint32_t 
id, uint16_t flags,
 return error;
 }
 } else if (bundle->state == BS_CLOSED) {
-ofp_bundle_remove__(ofconn, bundle, false);
+ofp_bundle_remove__(ofconn, bundle);
 return OFPERR_OFPBFC_BUNDLE_CLOSED;
 } else if (flags != bundle->flags) {
-ofp_bundle_remove__(ofconn, bundle, false);
+ofp_bundle_remove__(ofconn, bundle);
 return OFPERR_OFPBFC_BAD_FLAGS;
 }
 
diff --git a/ofproto/bundles.h b/ofproto/bundles.h
index 1818b16..dd64700 100644
--- a/ofproto/bundles.h
+++ b/ofproto/bundles.h
@@ -83,7 +83,7 @@ enum ofperr ofp_bundle_add_message(struct ofconn *, uint32_t 
id,
uint16_t flags, struct ofp_bundle_entry *,
const struct ofp_header *);
 
-void ofp_bundle_remove__(struct ofconn *, struct ofp_bundle *, bool success);
+void ofp_bundle_remove__(struct ofconn *, struct ofp_bundle *);
 
 static inline struct ofp_bundle_entry *
 ofp_bundle_entry_alloc(enum ofptype type, const struct ofp_header *oh)
diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c
index 6377245..4b927d6 100644
--- a/ofproto/connmgr.c
+++ b/ofproto/connmgr.c
@@ -1234,7 +1234,7 @@ bundle_remove_all(struct ofconn *ofconn)
 struct ofp_bundle *b, *next;
 
 HMAP_FOR_EACH_SAFE (b, next, node, >bundles) {
-ofp_bundle_remove__(ofconn, b, false);
+ofp_bundle_remove__(ofconn, b);
 }
 }
 
@@ -1247,7 +1247,7 @@ bundle_remove_expired(struct ofconn *ofconn, long long 
int now)
 HMAP_FOR_EACH_SAFE (b, next, node, >bundles) {
 if (b->used <= limit) {
 ofconn_send_error(ofconn, >ofp_msg, OFPERR_OFPBFC_TIMEOUT);
-ofp_bundle_remove__(ofconn, b, false);
+ofp_bundle_remove__(ofconn, b);
 }
 }
 }
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 90b1ffa..f89f0ef 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -7590,7 +7590,7 @@ do_bundle_commit(struct ofconn *ofconn, uint32_t id, 
uint16_t flags)
 }
 
 /* The bundle is discarded regardless the outcome. */
-ofp_bundle_remove__(ofconn, bundle, !error);
+ofp_bundle_remove__(ofconn, bundle);
 return error;
 }
 
-- 
2.1.4

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH 2/2] NEWS: Memory efficiency improvements.

2016-09-14 Thread Jarno Rajahalme
Mention both flow table and bundle memory efficiency improvements.

Signed-off-by: Jarno Rajahalme 
---
 NEWS | 8 
 1 file changed, 8 insertions(+)

diff --git a/NEWS b/NEWS
index a1ca864..6cc01eb 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,14 @@ v2.6.0 - xx xxx 
  * OpenFlow 1.3+ bundles are now supported for group mods as well as
flow mods and port mods.  Both 'atomic' and 'ordered' bundle
flags are supported for group mods as well as flow mods.
+ * Internal OpenFlow rule representation for load and set-field
+   actions is now much more memory efficient.  For a complex flow
+   table this can reduce rule memory consumption by 40%.
+ * Bundles are now much more memory efficient than in OVS 2.5.
+   Together with memory efficiency improvements in OpenFlow rule
+   representation, the peak OVS resident memory use during a
+   bundle commit for large complex set of flow mods can be only
+   25% of that in OVS 2.5 (4x lower).
  * OpenFlow 1.1+ OFPT_QUEUE_GET_CONFIG_REQUEST now supports OFPP_ANY.
  * OpenFlow 1.4+ OFPMP_QUEUE_DESC is now supported.
  * OpenFlow 1.4+ OFPT_TABLE_STATUS is now supported.
-- 
2.1.4

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Documents Requested

2016-09-14 Thread Gracie
Dear dev,

Please find attached documents as requested.

Best Regards,
Gracie
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] Documents Requested

2016-09-14 Thread Leola
Dear dev,

Please find attached documents as requested.

Best Regards,
Leola
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 4/7] system-traffic: 802.1ad: Add conntrack ping tests for CVLANs.

2016-09-14 Thread Eric Garver
Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 107 
 1 file changed, 107 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 83c7b8a2f4e5..bb0cb02804f9 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -1868,6 +1868,59 @@ NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 
2 10.2.2.2 | FORMAT_PING
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
+AT_SETUP([conntrack - IPv4 fragmentation + cvlan])
+CHECK_CONNTRACK()
+CHECK_CONNTRACK_FRAG()
+OVS_TRAFFIC_VSWITCHD_START()
+OVS_CHECK_8021AD()
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
+ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
+
+ADD_SVLAN(p0, at_ns0, 4094, "10.255.2.1/24")
+ADD_SVLAN(p1, at_ns1, 4094, "10.255.2.2/24")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p1.4094, at_ns1, 100, "10.2.2.2/24")
+
+dnl Sending ping through conntrack
+AT_DATA([flows.txt], [dnl
+priority=1,action=drop
+priority=10,arp,action=normal
+priority=100,in_port=1,icmp,action=ct(commit,zone=9),2
+priority=100,in_port=2,ct_state=-trk,icmp,action=ct(table=0,zone=9)
+priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+dnl Ipv4 fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv4 fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.255.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv4 larger fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv4 larger fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.255.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
 AT_SETUP([conntrack - IPv6 fragmentation])
 CHECK_CONNTRACK()
 CHECK_CONNTRACK_FRAG()
@@ -1992,6 +2045,60 @@ NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 
2 fc00:1::4 | FORMAT_PI
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
+AT_SETUP([conntrack - IPv6 fragmentation + cvlan])
+CHECK_CONNTRACK()
+CHECK_CONNTRACK_FRAG()
+OVS_TRAFFIC_VSWITCHD_START()
+OVS_CHECK_8021AD()
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "fc00::1/96")
+ADD_VETH(p1, at_ns1, br0, "fc00::2/96")
+
+ADD_SVLAN(p0, at_ns0, 4094, "fc00:::3/96")
+ADD_SVLAN(p1, at_ns1, 4094, "fc00:::4/96")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "fc00:1::3/96")
+ADD_CVLAN(p1.4094, at_ns1, 100, "fc00:1::4/96")
+
+dnl Sending ping through conntrack
+AT_DATA([flows.txt], [dnl
+priority=1,action=drop
+priority=10,in_port=1,ipv6,action=ct(commit,zone=9),2
+priority=10,in_port=2,ct_state=-trk,ipv6,action=ct(table=0,zone=9)
+priority=10,in_port=2,ct_state=+trk+est-new,ipv6,action=1
+priority=100,icmp6,icmp_type=135,action=normal
+priority=100,icmp6,icmp_type=136,action=normal
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping6 -c 1 fc00:1::4])
+
+dnl Ipv6 fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv6 fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv6 larger fragmentation connectivity check.
+NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl Ipv6 larger fragmentation connectivity check. (outer svlan)
+NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:::4 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
 AT_SETUP([conntrack - Fragmentation over vxlan])
 OVS_CHECK_VXLAN()
 CHECK_CONNTRACK()
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 6/7] system-traffic: 802.1ad: Add push/pop test cases.

2016-09-14 Thread Eric Garver
Two test cases to push and pop an outer tag between two "customer"
bridges. One to push/pop 0x88a8. One to push/pop a second 0x8100.

Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 112 
 1 file changed, 112 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 5c6084a792f7..ce02c9e8c453 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -3115,3 +3115,115 @@ NS_CHECK_EXEC([at_ns0], [ping -q -c 1 -w 3 10.2.2.2], 
[1], [ignore])
 
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
+
+
+AT_SETUP([802.1ad - push/pop outer 802.1ad])
+OVS_TRAFFIC_VSWITCHD_START()
+OVS_CHECK_8021AD()
+
+ADD_BR([br1])
+ADD_BR([br2])
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+AT_CHECK([ip link add ovs-p0 type veth peer name ovs-p1])
+AT_CHECK([ip link set dev ovs-p0 up])
+AT_CHECK([ip link set dev ovs-p1 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p0])
+AT_CHECK([ovs-vsctl add-port br1 ovs-p1])
+on_exit 'ip link del ovs-p0'
+
+AT_CHECK([ip link add ovs-p2 type veth peer name ovs-p3])
+AT_CHECK([ip link set dev ovs-p2 up])
+AT_CHECK([ip link set dev ovs-p3 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p2])
+AT_CHECK([ovs-vsctl add-port br2 ovs-p3])
+on_exit 'ip link del ovs-p2'
+
+ADD_VETH(p4, at_ns0, br1, "10.1.1.1/24")
+ADD_VETH(p5, at_ns1, br2, "10.1.1.2/24")
+ADD_CVLAN(p4, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p5, at_ns1, 100, "10.2.2.2/24")
+
+AT_DATA([flows-br0.txt], [dnl
+priority=1 action=drop
+priority=100 in_port=1 action=push_vlan:0x88a8,mod_vlan_vid=4094,output:2
+priority=100 in_port=2 action=push_vlan:0x88a8,mod_vlan_vid=4094,output:1
+])
+
+AT_DATA([flows-customer-br.txt], [dnl
+priority=1 action=normal
+priority=100 in_port=1 vlan_tci=0x1000/0x1000 action=pop_vlan,normal
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows-br0.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br1 flows-customer-br.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br2 flows-customer-br.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
+
+AT_SETUP([802.1ad - push/pop outer 802.1q])
+OVS_TRAFFIC_VSWITCHD_START()
+OVS_CHECK_8021AD()
+
+ADD_BR([br1])
+ADD_BR([br2])
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+AT_CHECK([ip link add ovs-p0 type veth peer name ovs-p1])
+AT_CHECK([ip link set dev ovs-p0 up])
+AT_CHECK([ip link set dev ovs-p1 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p0])
+AT_CHECK([ovs-vsctl add-port br1 ovs-p1])
+on_exit 'ip link del ovs-p0'
+
+AT_CHECK([ip link add ovs-p2 type veth peer name ovs-p3])
+AT_CHECK([ip link set dev ovs-p2 up])
+AT_CHECK([ip link set dev ovs-p3 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p2])
+AT_CHECK([ovs-vsctl add-port br2 ovs-p3])
+on_exit 'ip link del ovs-p2'
+
+ADD_VETH(p4, at_ns0, br1, "10.1.1.1/24")
+ADD_VETH(p5, at_ns1, br2, "10.1.1.2/24")
+ADD_CVLAN(p4, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p5, at_ns1, 100, "10.2.2.2/24")
+
+AT_DATA([flows-br0.txt], [dnl
+priority=1 action=drop
+priority=100 in_port=1 action=push_vlan:0x8100,mod_vlan_vid=4094,output:2
+priority=100 in_port=2 action=push_vlan:0x8100,mod_vlan_vid=4094,output:1
+])
+
+AT_DATA([flows-customer-br.txt], [dnl
+priority=1 action=normal
+priority=100 in_port=1 vlan_tci=0x1000/0x1000 action=pop_vlan,normal
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows-br0.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br1 flows-customer-br.txt])
+AT_CHECK([ovs-ofctl --bundle add-flows br2 flows-customer-br.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 7/7] system-traffic: 802.1ad: Add dot1q-tunnel test case.

2016-09-14 Thread Eric Garver
Test case for dot1q-tunnel between two "customer" bridges.

Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 63 +
 1 file changed, 63 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index ce02c9e8c453..ccfb6096d93b 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -3227,3 +3227,66 @@ NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 
2 10.2.2.2 | FORMAT_PING
 
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
+
+
+AT_SETUP([802.1ad - 802.1q tunnel])
+OVS_TRAFFIC_VSWITCHD_START()
+OVS_CHECK_8021AD()
+
+ADD_BR([br1])
+ADD_BR([br2])
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+AT_CHECK([ip link add ovs-p0 type veth peer name ovs-p1])
+AT_CHECK([ip link set dev ovs-p0 up])
+AT_CHECK([ip link set dev ovs-p1 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p0])
+AT_CHECK([ovs-vsctl add-port br1 ovs-p1])
+on_exit 'ip link del ovs-p0'
+
+AT_CHECK([ip link add ovs-p2 type veth peer name ovs-p3])
+AT_CHECK([ip link set dev ovs-p2 up])
+AT_CHECK([ip link set dev ovs-p3 up])
+AT_CHECK([ovs-vsctl add-port br0 ovs-p2])
+AT_CHECK([ovs-vsctl add-port br2 ovs-p3])
+on_exit 'ip link del ovs-p2'
+
+ADD_VETH(p4, at_ns0, br1, "10.1.1.1/24")
+ADD_VETH(p5, at_ns1, br2, "10.1.1.2/24")
+ADD_CVLAN(p4, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p5, at_ns1, 100, "10.2.2.2/24")
+ADD_CVLAN(p4, at_ns0, 200, "10.3.2.1/24")
+ADD_CVLAN(p5, at_ns1, 200, "10.3.2.2/24")
+ADD_CVLAN(p4, at_ns0, 300, "10.4.2.1/24")
+ADD_CVLAN(p5, at_ns1, 300, "10.4.2.2/24")
+
+AT_CHECK([ovs-ofctl add-flow br0 action=normal])
+AT_CHECK([ovs-ofctl add-flow br1 action=normal])
+AT_CHECK([ovs-ofctl add-flow br2 action=normal])
+AT_CHECK([ovs-vsctl set port ovs-p0 vlan_mode=dot1q-tunnel tag=4094 
cvlans=100,200])
+AT_CHECK([ovs-vsctl set port ovs-p2 vlan_mode=dot1q-tunnel tag=4094 
cvlans=100,200])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.3.2.2])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.3.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.3.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+dnl CVLAN 300 is not permitted by dot1q-tunnel
+NS_CHECK_EXEC([at_ns0], [ping -q -c 1 -w 3 10.4.2.2], [1], [ignore])
+
+OVS_TRAFFIC_VSWITCHD_STOP(["/dropping VLAN \(0\|300\).*dot1q tunneling/d"])
+AT_CLEANUP
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 5/7] system-traffic: 802.1ad: Add vlan_limit test case.

2016-09-14 Thread Eric Garver
Verify that vlan_limit works as expected and preserves legacy dl_type
matching behavior.

Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index bb0cb02804f9..5c6084a792f7 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -3080,3 +3080,38 @@ ovs-ofctl -O OpenFlow15 dump-group-stats br0
 
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
+
+
+AT_SETUP([802.1ad - vlan_limit])
+OVS_TRAFFIC_VSWITCHD_START()
+OVS_CHECK_8021AD()
+
+dnl Drop the vlan limit to verify backward compatibility with old ethertype
+dnl matching behavior.
+AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:vlan-limit=1])
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
+ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
+
+ADD_SVLAN(p0, at_ns0, 4094, "10.255.2.1/24")
+ADD_SVLAN(p1, at_ns1, 4094, "10.255.2.2/24")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p1.4094, at_ns1, 100, "10.2.2.2/24")
+
+AT_DATA([flows.txt], [dnl
+priority=1 action=normal
+priority=200 dl_type=0x8100 action=drop
+])
+
+AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.255.2.2])
+
+dnl CVLAN traffic should match the flow and drop
+NS_CHECK_EXEC([at_ns0], [ping -q -c 1 -w 3 10.2.2.2], [1], [ignore])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 3/7] system-traffic: 802.1ad: Add datapath ping tests for CVLANs.

2016-09-14 Thread Eric Garver
Signed-off-by: Eric Garver 
---
 tests/system-traffic.at | 62 +
 1 file changed, 62 insertions(+)

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 4dabd90356a1..83c7b8a2f4e5 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -69,6 +69,37 @@ NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 
10.2.2.2 | FORMAT_PING
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
+AT_SETUP([datapath - ping between two ports on cvlan])
+OVS_TRAFFIC_VSWITCHD_START()
+
+AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"])
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
+ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
+
+ADD_SVLAN(p0, at_ns0, 4094, "10.255.2.1/24")
+ADD_SVLAN(p1, at_ns1, 4094, "10.255.2.2/24")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "10.2.2.1/24")
+ADD_CVLAN(p1.4094, at_ns1, 100, "10.2.2.2/24")
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+
+NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.2.2.2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
 AT_SETUP([datapath - ping6 between two ports])
 OVS_TRAFFIC_VSWITCHD_START()
 
@@ -128,6 +159,37 @@ NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 
fc00:1::2 | FORMAT_PI
 OVS_TRAFFIC_VSWITCHD_STOP
 AT_CLEANUP
 
+AT_SETUP([datapath - ping6 between two ports on cvlan])
+OVS_TRAFFIC_VSWITCHD_START()
+
+AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"])
+
+ADD_NAMESPACES(at_ns0, at_ns1)
+
+ADD_VETH(p0, at_ns0, br0, "fc00::1/96")
+ADD_VETH(p1, at_ns1, br0, "fc00::2/96")
+
+ADD_SVLAN(p0, at_ns0, 4094, "fc00:::1/96")
+ADD_SVLAN(p1, at_ns1, 4094, "fc00:::2/96")
+
+ADD_CVLAN(p0.4094, at_ns0, 100, "fc00:1::1/96")
+ADD_CVLAN(p1.4094, at_ns1, 100, "fc00:1::2/96")
+
+OVS_WAIT_UNTIL([ip netns exec at_ns0 ping6 -c 1 fc00:1::2])
+
+NS_CHECK_EXEC([at_ns0], [ping6 -q -c 3 -i 0.3 -w 2 fc00:1::2 | FORMAT_PING], 
[0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+NS_CHECK_EXEC([at_ns0], [ping6 -s 1600 -q -c 3 -i 0.3 -w 2 fc00:1::2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00:1::2 | 
FORMAT_PING], [0], [dnl
+3 packets transmitted, 3 received, 0% packet loss, time 0ms
+])
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+
 AT_SETUP([datapath - ping over bond])
 OVS_TRAFFIC_VSWITCHD_START()
 
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 1/7] system-userspace-macros: allow passing sed args to OVS_TRAFFIC_VSWITCHD_STOP()

2016-09-14 Thread Eric Garver
Passing sed arguments to OVS_TRAFFIC_VSWITCHD_STOP() was being ignored
for check-system-userspace. This is useful to selective ignore log
messages.

Signed-off-by: Eric Garver 
---
 tests/system-userspace-macros.at | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/system-userspace-macros.at b/tests/system-userspace-macros.at
index 7e10b6c21f31..631f71a9aa10 100644
--- a/tests/system-userspace-macros.at
+++ b/tests/system-userspace-macros.at
@@ -35,7 +35,7 @@ m4_define([OVS_TRAFFIC_VSWITCHD_START],
 # removal.
 m4_define([OVS_TRAFFIC_VSWITCHD_STOP],
   [OVS_VSWITCHD_STOP([dnl
-"/netdev_linux.*obtaining netdev stats via vport failed/d
+$1";/netdev_linux.*obtaining netdev stats via vport failed/d
 /dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open 
vSwitch kernel module is probably not loaded./d"])
AT_CHECK([:; $2])
   ])
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 2/7] system-common-macros: Add macros to check for and test 802.1ad.

2016-09-14 Thread Eric Garver
Add macros OVS_CHECK_8021AD(), ADD_SVLAN() and ADD_CVLAN().

Signed-off-by: Eric Garver 
---
 tests/system-common-macros.at | 32 +++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at
index 1dfdcf9ea789..bf7682ef31c2 100644
--- a/tests/system-common-macros.at
+++ b/tests/system-common-macros.at
@@ -130,12 +130,35 @@ m4_define([ADD_VETH_BOND],
 # Add a VLAN device named 'port' within 'namespace'. It will be configured
 # with the ID 'vlan-id' and the address 'ip-addr'.
 m4_define([ADD_VLAN],
-[ NS_CHECK_EXEC([$2], [ip link add link $1 name $1.$3 type vlan id $3])
+[ NS_CHECK_EXEC([$2], [ip link add link $1 name $1.$3 type vlan proto 
802.1q id $3])
   NS_CHECK_EXEC([$2], [ip link set dev $1.$3 up])
   NS_CHECK_EXEC([$2], [ip addr add dev $1.$3 $4])
 ]
 )
 
+# ADD_SVLAN([port], [namespace], [vlan-id], [ip-addr])
+#
+# Add a SVLAN device named 'port' within 'namespace'. It will be configured
+# with the ID 'vlan-id' and the address 'ip-addr'.
+m4_define([ADD_SVLAN],
+[ NS_CHECK_EXEC([$2], [ip link add link $1 name $1.$3 type vlan proto 
802.1ad id $3])
+  NS_CHECK_EXEC([$2], [ip link set dev $1.$3 up])
+  NS_CHECK_EXEC([$2], [ip addr add dev $1.$3 $4])
+  NS_CHECK_EXEC([$2], [ip link set $1.$3 mtu 1496])
+]
+)
+
+# ADD_CVLAN([port], [namespace], [vlan-id], [ip-addr])
+#
+# Similar to ADD_VLAN(), but sets MTU. Lower MTU here instead of increase MTU
+# on bridge/SVLAN because older kernels didn't work.
+#
+m4_define([ADD_CVLAN],
+[ ADD_VLAN([$1], [$2], [$3], [$4])
+  NS_CHECK_EXEC([$2], [ip link set $1.$3 mtu 1492])
+]
+)
+
 # ADD_OVS_TUNNEL([type], [bridge], [port], [remote-addr], [overlay-addr])
 #
 # Add an ovs-based tunnel device in the root namespace, with name 'port' and
@@ -213,3 +236,10 @@ m4_define([OVS_CHECK_GRE],
 # OVS_CHECK_GENEVE()
 m4_define([OVS_CHECK_GENEVE],
 [AT_SKIP_IF([! ip link add foo type geneve help 2>&1 | grep geneve 
>/dev/null])])
+
+# OVS_CHECK_8021AD()
+m4_define([OVS_CHECK_8021AD],
+[AT_SKIP_IF([! grep "VLAN label stack" ovs-vswitchd.log])
+ AT_SKIP_IF([test `sed -n 's/.*VLAN label stack length probed as 
\(\d*\)/\1/p' ovs-vswitchd.log` -lt 2])
+ AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:vlan-limit=0])
+])
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH v3 0/7] system-traffic: add 802.1ad test cases

2016-09-14 Thread Eric Garver
This series adds 802.1ad test cases for the check-* make targets. It is
meant as a counterpart to the 802.1ad work currently going on and being
discussed on the dev list.

User space support for 802.1ad is being worked on by Xiao Liang (based
on Thomas F Herbert's work). Kernel support is already present in
upstream net-next tree.

Tested with v5 of Xiao's 802.1ad patch series.
Tested with; recent (4.8.0-rc4+) net-next kernel, upstream 4.7.3, and
upstream 3.19.8.

v3:
 - Add test case for vlan_limit. This is to verify backwards
   compatibility of dl_type.
 - Add double 0x8100 tag test.
 - Specify cvlans for dot1q-tunnel test and verify other VLANs filtered
 - Drop CVLAN MTU to 1492, SVLAN to 1496
 - Fix passing sed filters for userspace datapath tests.

v2:
 - Properly skip tests on older versions of OVS and kernel
 - Set CVLAN mtu to 1496 to allow tests to pass on older kernels

Eric Garver (7):
  system-userspace-macros: allow passing sed args to
OVS_TRAFFIC_VSWITCHD_STOP()
  system-common-macros: Add macros to check for and test 802.1ad.
  system-traffic: 802.1ad: Add datapath ping tests for CVLANs.
  system-traffic: 802.1ad: Add conntrack ping tests for CVLANs.
  system-traffic: 802.1ad: Add vlan_limit test case.
  system-traffic: 802.1ad: Add push/pop test cases.
  system-traffic: 802.1ad: Add dot1q-tunnel test case.

 tests/system-common-macros.at|  32 +++-
 tests/system-traffic.at  | 379 +++
 tests/system-userspace-macros.at |   2 +-
 3 files changed, 411 insertions(+), 2 deletions(-)

-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] ovn: make ipam tests more reliable

2016-09-14 Thread Lance Richardson
> From: "Ben Pfaff" 
> To: "Lance Richardson" 
> Cc: dev@openvswitch.org
> Sent: Wednesday, September 14, 2016 8:03:16 PM
> Subject: Re: [ovs-dev] [PATCH] ovn: make ipam tests more reliable
> 
> On Wed, Sep 14, 2016 at 07:30:50PM -0400, Lance Richardson wrote:
> > After adding log messages to better understand  IPAM-related code
> > in ovn northd, the IPAM tests began to fail occasionally. Adding
> > --wait=sb to commands triggering address allocation eliminated
> > these failures (there were no failures with 100 executions when
> > testing with this change).
> > 
> > Signed-off-by: Lance Richardson 
> 
> I think that this adds more "--wait"s than strictly necessary (it's only
> really useful on the last ovn-nbctl call in a series of them) but that's
> not really harmful (except to performance), so I applied it to master
> and branch-2.6.
> 
I did wonder whether it might be worthwhile to avoid the --wait
in each iteration of the loop and just have one --wait after the loop, but
I wasn't sure about the best way to go about doing that.

This was the first time I had tried using the --wait option, it's a nice
addition and much better than trying to band-aid with sleeps.

Thanks,

   Lance

> Thank you!
> 
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] Documents Requested

2016-09-14 Thread Dillon
Dear dev,

Please find attached documents as requested.

Best Regards,
Dillon
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] ovn: make ipam tests more reliable

2016-09-14 Thread Ben Pfaff
On Wed, Sep 14, 2016 at 07:30:50PM -0400, Lance Richardson wrote:
> After adding log messages to better understand  IPAM-related code
> in ovn northd, the IPAM tests began to fail occasionally. Adding
> --wait=sb to commands triggering address allocation eliminated
> these failures (there were no failures with 100 executions when
> testing with this change).
> 
> Signed-off-by: Lance Richardson 

I think that this adds more "--wait"s than strictly necessary (it's only
really useful on the last ovn-nbctl call in a series of them) but that's
not really harmful (except to performance), so I applied it to master
and branch-2.6.

Thank you!
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Documents Requested

2016-09-14 Thread Rhonda
Dear dev,

Please find attached documents as requested.

Best Regards,
Rhonda
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v3 13/13] ofproto: Support packet_outs in bundles.

2016-09-14 Thread Jarno Rajahalme
Series now pushed to master,

  Jarno

> On Sep 14, 2016, at 2:57 PM, Jarno Rajahalme  wrote:
> 
>> 
>> On Sep 13, 2016, at 5:09 PM, Ben Pfaff > 
>> wrote:
>> 
>> On Mon, Sep 12, 2016 at 01:52:43PM -0700, Jarno Rajahalme wrote:
>>> Add support for OFPT_PACKET_OUT messages in bundles.
>>> 
>>> While ovs-ofctl already has a packet-out command, we did not have a
>>> string parser for it, as the parsing was done directly from command
>>> line arguments.
>>> 
>>> This patch adds the string parser for packet-out messages, and adds a
>>> new ofctl/packet-out ovs-appctl command that can be used when
>>> ovs-ofctl is used as a flow monitor.
>>> 
>>> The new packet-out parser is further supported with the ovs-ofctl
>>> bundle command, which allows bundles to mix flow mods, group mods and
>>> packet-out messages.  Also the packet-outs in bundles are only
>>> executed if the whole bundle is successful.  A failing packet-out
>>> translation may also make the whole bundle to fail.
>>> 
>>> Signed-off-by: Jarno Rajahalme >
>> 
>> Should the existing packet-out command in ovs-ofctl also support this
>> new syntax?  It could distinguish it from the legacy syntax by checking
>> the number of arguments (1 versus 4+).  If so, perhaps we should
>> deprecate the legacy syntax.
> 
> OK.
> 
>> I think that parse_ofp_packet_out_str__() has some memory leaks inside
>> the while loop: if it detects than one error, then the earlier one is
>> leaked.
> 
> Fixed by adding “goto out;” after each time error is set to a non-NULL value, 
> rather than checking after multiple possible errors.
> 
>> 
>> It's a little unusual that ofputil_encode_bundle_msgs() frees the
>> bundled messages and that there's no separate way to do that without
>> encoding.
> 
> Added a separate ofputil_free_bundle_msgs(), and removed the freeing from the 
> ofputil_encode_bundle_msgs().
> 
>> 
>> I'm surprised that do_bundle_commit() potentially increases
>> ofproto->tables_version more than once (in the loop labeled
>> "4. Finish.").  I would have guessed that it would do that once, to make
>> visible everything in the bundle.
>> 
> 
> We have no versioning for port_mods, which OpenFlow spec says need to be 
> supported in bundles. If the bundle does not include port mods, everything is 
> published as one new version, but if there are port mods, then the other 
> (flow, group, packet out) mods before and after each port mod are made 
> visible as one new version. I presume that if the caller is not specifying 
> the ‘ordered’ flag, we could first issue all the port mods and then commit 
> everything else as one version, but I have not wanted to deal with the 
> complications of ‘out-of-order’ handling of messages, as we would need to 
> detect potential conflicts among the messages. E.g., if one flow mod deletes 
> all the flows and another adds one, out-of-order execution could be 
> considered ‘conflicting’. Now we always execute everything in order, so the 
> semantics is clear. However, I’m not sure if we should still detect such 
> conflicts if the client does not specify the ‘ordered’ flag.
> 
> Thanks a lot for the reviews, I’ll push the patches 6-13 in a moment (I 
> pushed patches 1-5 already yesterday).
> 
>   Jarno
> 
>> Acked-by: Ben Pfaff >

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] ovn-trace: Temporary fix for segment fault

2016-09-14 Thread Ben Pfaff
On Fri, Sep 09, 2016 at 02:05:14PM -0700, Han Zhou wrote:
> ovn-trace crashes when there are dhcp flows, which makes the tool
> unusable. This patch is to fix the crash with a dummy dhcp_opts,
> until dhcp_opts is completely supported by ovn-trace.
> 
> Signed-off-by: Han Zhou 

It doesn't fix the similar problem for DHCPv6 options.

How about this instead?  I have not tested it.

--8<--cut here-->8--

From: Ben Pfaff 
Date: Wed, 14 Sep 2016 16:58:44 -0700
Subject: [PATCH] ovn-trace: Avoid segfault for DHCP options flows.

It would be better if ovn-trace fully supported DHCP options, but this at
least should avoid the segmentation fault.

Reported-by: Han Zhou 
Signed-off-by: Ben Pfaff 
---
 ovn/lib/actions.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ovn/lib/actions.c b/ovn/lib/actions.c
index 03dba8f..59131dd 100644
--- a/ovn/lib/actions.c
+++ b/ovn/lib/actions.c
@@ -1321,7 +1321,7 @@ parse_dhcp_opt(struct action_context *ctx, struct 
ovnact_dhcp_option *o,
 
 const char *name = v6 ? "DHCPv6" : "DHCPv4";
 const struct hmap *map = v6 ? ctx->pp->dhcpv6_opts : ctx->pp->dhcp_opts;
-o->option = dhcp_opts_find(map, ctx->lexer->token.s);
+o->option = map ? dhcp_opts_find(map, ctx->lexer->token.s) : NULL;
 if (!o->option) {
 lexer_syntax_error(ctx->lexer, "expecting %s option name", name);
 return;
-- 
2.1.3

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] Documents Requested

2016-09-14 Thread Emile
Dear dev,

Please find attached documents as requested.

Best Regards,
Emile
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH RFC v3] ovn-northd: add default_dhcpvx_options for Logical_Switch

2016-09-14 Thread Ben Pfaff
On Thu, Sep 01, 2016 at 09:56:30AM +, Zongkai LI wrote:
> This patch adds default_dhcpv4_options and default_dhcpv6_options columns for
> Logical_Switch, which should help CMS not to calculate and set dhcpv4_options
> and dhcpv6_options columns for lswitch ports on lswitchs one by one, when
> most of lswitch ports on the same lswitch are using the DHCPv4_Options and
> DHCPv6_Options. Default DHCP(v4 and v6) Options should benefit in case
> scalling up and DB synchronization between CMS and OVN NB.
> 
> v1 -> v2
> add ACL lflows support for lswitch ports using default_dhcpvx_options from
> lswitch.
> 
> v2 -> v3
> update ovn dhcpv4 and dhcpv6 tests for lswitch ports using specific dhcp
> options than defualt ones in lswitch.

The CMS can point the multiple dhcpvx_options column in as many rows as
it likes to the same row in the DHCP_Options table, so I don't know why
this offers an advantage.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v1 1/1] ovn-northd: add dhcpv6 stateless option support

2016-09-14 Thread Ben Pfaff
On Fri, Sep 09, 2016 at 06:39:17AM +, Zongkai LI wrote:
> This patch adds DHCPv6 stateless option support, to allow ovn native dhcpv6
> work in stateless mode.
> 
> User can add new option dhcpv6_stateless with string value true in
> DHCP_Options.options column, to let ovn dhcpv6 only reply other configurations
> for DHCPv6 request messages come from VM/VIF ports, and let VM/VIF ports get
> their IPv6 addresses configured via stateless way.
> 
> Signed-off-by: Zongkai LI 

Seems reasonable enough.

It seems like a bit much to clone the whole options structure to
possibly delete one element, so I changed the code as below, and then
applied this to master.

--8<--cut here-->8--

diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
index fbcc719..62af64b 100644
--- a/ovn/northd/ovn-northd.c
+++ b/ovn/northd/ovn-northd.c
@@ -2009,25 +2009,21 @@ build_dhcpv6_action(struct ovn_port *op, struct 
in6_addr *offer_ip,
 ds_put_format(options_action,
   REGBIT_DHCP_OPTS_RESULT" = put_dhcpv6_opts(");
 
-struct smap dhcpv6_options = SMAP_INITIALIZER(_options);
-smap_clone(_options, >nbsp->dhcpv6_options->options);
-
 /* Check whether the dhcpv6 options should be configured as stateful.
  * Only reply with ia_addr option for dhcpv6 stateful address mode. */
-const char *dhcpv6_stateless = smap_get(
-_options, "dhcpv6_stateless");
-if (!dhcpv6_stateless || strcmp(dhcpv6_stateless, "true")) {
+if (!smap_get_bool(>nbsp->dhcpv6_options->options,
+   "dhcpv6_stateless", false)) {
 char ia_addr[INET6_ADDRSTRLEN + 1];
 ipv6_string_mapped(ia_addr, offer_ip);
 
 ds_put_format(options_action, "ia_addr = %s, ", ia_addr);
 }
-/* dhcpv6_stateless is not DHCPv6 option, delete it from the smap. */
-smap_remove(_options, "dhcpv6_stateless");
 
 struct smap_node *node;
-SMAP_FOR_EACH (node, _options) {
-ds_put_format(options_action, "%s = %s, ", node->key, node->value);
+SMAP_FOR_EACH (node, >nbsp->dhcpv6_options->options) {
+if (strcmp(node->key, "dhcpv6_stateless")) {
+ds_put_format(options_action, "%s = %s, ", node->key, node->value);
+}
 }
 ds_chomp(options_action, ' ');
 ds_chomp(options_action, ',');
@@ -2039,7 +2035,6 @@ build_dhcpv6_action(struct ovn_port *op, struct in6_addr 
*offer_ip,
   "output;",
   server_mac, server_ip);
 
-smap_destroy(_options);
 return true;
 }
 
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH] ovn: make ipam tests more reliable

2016-09-14 Thread Lance Richardson
After adding log messages to better understand  IPAM-related code
in ovn northd, the IPAM tests began to fail occasionally. Adding
--wait=sb to commands triggering address allocation eliminated
these failures (there were no failures with 100 executions when
testing with this change).

Signed-off-by: Lance Richardson 
---
 tests/ovn.at | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/tests/ovn.at b/tests/ovn.at
index 5707f47..1fcd666 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -4436,7 +4436,7 @@ AT_CHECK([ovn-nbctl get Logical-Switch-Port p0 
dynamic_addresses], [0],
 
 # Add 9 more ports to sw0, addresses should all be unique.
 for n in `seq 1 9`; do
-ovn-nbctl lsp-add sw0 "p$n" -- lsp-set-addresses "p$n" dynamic
+ovn-nbctl --wait=sb lsp-add sw0 "p$n" -- lsp-set-addresses "p$n" dynamic
 done
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p1 dynamic_addresses], [0],
 ["0a:00:00:00:00:02 192.168.1.3"
@@ -4470,13 +4470,13 @@ AT_CHECK([ovn-nbctl get Logical-Switch-Port p9 
dynamic_addresses], [0],
 # across both switches but IP's only need to be unique within the same switch.
 ovn-nbctl ls-add sw1
 ovn-nbctl lsp-add sw1 p10 -- lsp-set-addresses p10 dynamic
-ovn-nbctl add Logical-Switch sw1 other_config subnet=192.168.1.0/24
+ovn-nbctl --wait=sb add Logical-Switch sw1 other_config subnet=192.168.1.0/24
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p10 dynamic_addresses], [0],
  ["0a:00:00:00:00:0b 192.168.1.2"
 ])
 
 for n in `seq 11 19`; do
-ovn-nbctl lsp-add sw1 "p$n" -- lsp-set-addresses "p$n" dynamic
+ovn-nbctl --wait=sb lsp-add sw1 "p$n" -- lsp-set-addresses "p$n" dynamic
 done
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p11 dynamic_addresses], [0],
  ["0a:00:00:00:00:0c 192.168.1.3"
@@ -4509,7 +4509,7 @@ AT_CHECK([ovn-nbctl get Logical-Switch-Port p19 
dynamic_addresses], [0],
 # Change a port's address to test for multiple ip's for a single address entry
 # and addresses set by the user.
 ovn-nbctl lsp-set-addresses p0 "0a:00:00:00:00:15 192.168.1.12 192.168.1.14"
-ovn-nbctl lsp-add sw0 p20 -- lsp-set-addresses p20 dynamic
+ovn-nbctl --wait=sb lsp-add sw0 p20 -- lsp-set-addresses p20 dynamic
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p20 dynamic_addresses], [0],
  ["0a:00:00:00:00:16 192.168.1.13"
 ])
@@ -4520,14 +4520,14 @@ ovn-nbctl -- --id=@lrp create Logical_Router_port 
name=sw0 \
 network="192.168.1.1/24" mac=\"0a:00:00:00:00:17\" \
 -- add Logical_Router R1 ports @lrp -- lsp-add sw0 rp-sw0 \
 -- set Logical_Switch_Port rp-sw0 type=router options:router-port=sw0
-ovn-nbctl lsp-add sw0 p21 -- lsp-set-addresses p21 dynamic
+ovn-nbctl --wait=sb lsp-add sw0 p21 -- lsp-set-addresses p21 dynamic
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p21 dynamic_addresses], [0],
  ["0a:00:00:00:00:18 192.168.1.15"
 ])
 
 # Test for address reuse after logical port is deleted.
 ovn-nbctl lsp-del p0
-ovn-nbctl lsp-add sw0 p23 -- lsp-set-addresses p23 dynamic
+ovn-nbctl --wait=sb lsp-add sw0 p23 -- lsp-set-addresses p23 dynamic
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p23 dynamic_addresses], [0],
  ["0a:00:00:00:00:19 192.168.1.2"
 ])
@@ -4535,19 +4535,19 @@ AT_CHECK([ovn-nbctl get Logical-Switch-Port p23 
dynamic_addresses], [0],
 # Test for multiple addresses to one logical port.
 ovn-nbctl lsp-add sw0 p25 -- lsp-set-addresses p25 \
 "0a:00:00:00:00:1a 192.168.1.12" "0a:00:00:00:00:1b 192.168.1.14"
-ovn-nbctl lsp-add sw0 p26 -- lsp-set-addresses p26 dynamic
+ovn-nbctl --wait=sb lsp-add sw0 p26 -- lsp-set-addresses p26 dynamic
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p26 dynamic_addresses], [0],
  ["0a:00:00:00:00:1c 192.168.1.16"
 ])
 
 # Test for exhausting subnet address space.
 ovn-nbctl ls-add sw2 -- add Logical-Switch sw2 other_config 
subnet=172.16.1.0/30
-ovn-nbctl lsp-add sw2 p27 -- lsp-set-addresses p27 dynamic
+ovn-nbctl --wait=sb lsp-add sw2 p27 -- lsp-set-addresses p27 dynamic
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p27 dynamic_addresses], [0],
  ["0a:00:00:00:00:1d 172.16.1.2"
 ])
 
-ovn-nbctl lsp-add sw2 p28 -- lsp-set-addresses p28 dynamic
+ovn-nbctl --wait=sb lsp-add sw2 p28 -- lsp-set-addresses p28 dynamic
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p28 dynamic_addresses], [0],
  [[[]]
 ])
@@ -4561,7 +4561,7 @@ ovn-nbctl -- --id=@lrp create Logical_Router_port 
name=sw3 \
 network="192.168.2.1/24" mac=\"0a:00:00:00:00:1f\" \
 -- add Logical_Router R2 ports @lrp -- lsp-add sw3 rp-sw3 \
 -- set Logical_Switch_Port rp-sw3 type=router options:router-port=sw3
-ovn-nbctl lsp-add sw0 p30 -- lsp-set-addresses p30 dynamic
+ovn-nbctl --wait=sb lsp-add sw0 p30 -- lsp-set-addresses p30 dynamic
 AT_CHECK([ovn-nbctl get Logical-Switch-Port p30 dynamic_addresses], [0],
  ["0a:00:00:00:00:20 192.168.1.17"
 ])
-- 
2.5.5

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] backport request for 2.6: enable kernel datapath check in rpms

2016-09-14 Thread Lance Richardson
> From: "Ben Pfaff" 
> To: "Russell Bryant" 
> Cc: "ovs dev" , "Flavio Leitner" , 
> "Lance Richardson" 
> Sent: Wednesday, September 14, 2016 1:50:33 PM
> Subject: Re: [ovs-dev] backport request for 2.6: enable kernel datapath check 
> in rpms
> 
> On Tue, Sep 13, 2016 at 12:07:25PM -0400, Lance Richardson wrote:
> > Requesting backports of these commits to the 2.6 branch:
> > 
> >     commit 8ef22bb1ceb7b2841d2e29eb283387f0a3a67ff9
> >         rhel: add option to run kernel datapath test when building rpms
> 
> Russell, will you please consider this?
> 
> >     commit ed71ac3e23e472378b1d292fcd8d3c43e46fe153
> >         check-kernel: add recheck support
> 
> This one appears to already be on branch-2.6, please let me know if I'm
> wrong.

You are correct, I should have double-checked.

> 
> > These appear safe, and would save having to maintain out-of-tree
> > versions of these commits.
> 
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v1] ovn-northd: allow DHCPv6 respond multiple IA Address Options

2016-09-14 Thread Ben Pfaff
On Mon, Aug 29, 2016 at 02:15:52PM +0800, Zong Kai LI wrote:
> From: Zongkai LI 
> 
> This patch tries to allow OVN native DHCPv6 responder to respond multiple
> IA Address Options in a DHCPv6 reply message, this will help a lswitch port
> to configure all IPv6 addresses belongs to it in DHCPv6 processing.
> 
> This fixes issue lswitch port can only get one IPv6 address, when it has
> addresses looks like:
> addresses : ["fa:16:3e:66:31:ac 10.0.0.6 fd55:cb39:f835:0:f816:3eff:fe66:31ac
>   fdad:1234:5678:0:f816:3eff:fe66:31ac"]
> and dhcpv6_options it refers has cidr "fd55:cb39:f835::/64". The lswitch port
> will get only IPv6 address "fd55:cb39:f835:0:f816:3eff:fe66:31ac" in DHCPv6
> processing routine.
> 
> Signed-off-by: Zongkai LI 

Hi, thanks for working on this.

Can you add a test (or adjust an existing test) to verify that multiple
IPv6 addresses work properly?

Thanks,

Ben.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v2] ovn: log dhcp responses for debugging

2016-09-14 Thread Ben Pfaff
On Thu, Sep 01, 2016 at 06:38:58PM +, Ramu Ramamurthy wrote:
> Add a few messages at INFO to help debug the vif lifecycle.
> A logsearch on mac or ip helps debug what happened to the
> vif and when. This helps easily correlate logs across CMS and ovn.
> 
> Logs appear like this:
> 
> 2016-09-01T18:15:48Z|00014|binding|INFO|Claiming lport 
> eee1a9af-7513-4540-9385-9e3972bfca05 for this chassis.
> 2016-09-01T18:15:48Z|00015|binding|INFO|Claiming fa:16:3e:01:c3:4a 10.0.0.7 
> fd93:b509:aa46:0:f816:3eff:fe01:c34a
> 2016-09-01T18:15:59Z|00016|pinctrl|INFO|DHCPOFFER fa:16:3e:01:c3:4a 10.0.0.7
> 2016-09-01T18:15:59Z|00017|pinctrl|INFO|DHCPACK fa:16:3e:01:c3:4a 10.0.0.7
> 2016-09-01T18:16:22Z|00018|binding|INFO|Releasing lport 
> eee1a9af-7513-4540-9385-9e3972bfca05 from this chassis.
> 2016-09-01T18:16:22Z|00019|binding|INFO|Releasing fa:16:3e:01:c3:4a 10.0.0.7 
> fd93:b509:aa46:0:f816:3eff:fe01:c34a
> 
> Signed-off-by: Ramu Ramamurthy 
> ---
>  v1->v2: add rate limit

I have some misgivings about this, but it can't really hurt anything so
I applied it to master and branch-2.6.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] ovn: add lsp-deletion and bcast-flow removal tests for localnet

2016-09-14 Thread Ben Pfaff
On Tue, Aug 30, 2016 at 11:58:34PM +, Ramu Ramamurthy wrote:
> From: Ramu Ramamurthy 
> 
> Add 2 tests for scenarios around lsp-deletion and flow removal
> which have escaped current unit tests.
> 
> This test depends on the following patch:
> "ovn-controller: Back out incremental processing" and passes
> after applying it, but fails currently on master.
> 
> 1) In the following sequence of events,
> createi vif1, create vif2, delete vif1
> we find that the localnet patch port
> got deleted, whereas it should exist because there is a
> bound vif2.
> 
> 2) The flow broadcasting to tunnels in table=32 must be deleted
> when a localnet port gets bound, but we find that the flow remains
> in table 32 causing broadcasts to both tunnels and localnet patch.
> 
> Signed-off-by: Ramu Ramamurthy 

Thanks.  I applied this to master and branch-2.6.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v3 13/13] ofproto: Support packet_outs in bundles.

2016-09-14 Thread Jarno Rajahalme

> On Sep 13, 2016, at 5:09 PM, Ben Pfaff  wrote:
> 
> On Mon, Sep 12, 2016 at 01:52:43PM -0700, Jarno Rajahalme wrote:
>> Add support for OFPT_PACKET_OUT messages in bundles.
>> 
>> While ovs-ofctl already has a packet-out command, we did not have a
>> string parser for it, as the parsing was done directly from command
>> line arguments.
>> 
>> This patch adds the string parser for packet-out messages, and adds a
>> new ofctl/packet-out ovs-appctl command that can be used when
>> ovs-ofctl is used as a flow monitor.
>> 
>> The new packet-out parser is further supported with the ovs-ofctl
>> bundle command, which allows bundles to mix flow mods, group mods and
>> packet-out messages.  Also the packet-outs in bundles are only
>> executed if the whole bundle is successful.  A failing packet-out
>> translation may also make the whole bundle to fail.
>> 
>> Signed-off-by: Jarno Rajahalme 
> 
> Should the existing packet-out command in ovs-ofctl also support this
> new syntax?  It could distinguish it from the legacy syntax by checking
> the number of arguments (1 versus 4+).  If so, perhaps we should
> deprecate the legacy syntax.

OK.

> I think that parse_ofp_packet_out_str__() has some memory leaks inside
> the while loop: if it detects than one error, then the earlier one is
> leaked.

Fixed by adding “goto out;” after each time error is set to a non-NULL value, 
rather than checking after multiple possible errors.

> 
> It's a little unusual that ofputil_encode_bundle_msgs() frees the
> bundled messages and that there's no separate way to do that without
> encoding.

Added a separate ofputil_free_bundle_msgs(), and removed the freeing from the 
ofputil_encode_bundle_msgs().

> 
> I'm surprised that do_bundle_commit() potentially increases
> ofproto->tables_version more than once (in the loop labeled
> "4. Finish.").  I would have guessed that it would do that once, to make
> visible everything in the bundle.
> 

We have no versioning for port_mods, which OpenFlow spec says need to be 
supported in bundles. If the bundle does not include port mods, everything is 
published as one new version, but if there are port mods, then the other (flow, 
group, packet out) mods before and after each port mod are made visible as one 
new version. I presume that if the caller is not specifying the ‘ordered’ flag, 
we could first issue all the port mods and then commit everything else as one 
version, but I have not wanted to deal with the complications of ‘out-of-order’ 
handling of messages, as we would need to detect potential conflicts among the 
messages. E.g., if one flow mod deletes all the flows and another adds one, 
out-of-order execution could be considered ‘conflicting’. Now we always execute 
everything in order, so the semantics is clear. However, I’m not sure if we 
should still detect such conflicts if the client does not specify the ‘ordered’ 
flag.

Thanks a lot for the reviews, I’ll push the patches 6-13 in a moment (I pushed 
patches 1-5 already yesterday).

  Jarno

> Acked-by: Ben Pfaff >

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] Tests: update monitor-cond tests on Windows

2016-09-14 Thread Guru Shetty
On 14 September 2016 at 09:00, Alin Serdean  wrote:

> Windows allows '--detach' argument to be used.
> This patch updates the ovsdb monitor tests to use it.
>
> Fixes hanging test:
> 1889: monitor-cond-change
>
> Signed-off-by: Alin Gabriel Serdean 
>

Can you have a look at the commit message of 90fd962877de which introduced
the if else condition? Can you run the unit tests of the ovsdb-monitor a
few times to make sure that there is no test failures because of the
mentioned issue.


> ---
>  tests/ovsdb-monitor.at | 28 +++-
>  1 file changed, 11 insertions(+), 17 deletions(-)
>
> diff --git a/tests/ovsdb-monitor.at b/tests/ovsdb-monitor.at
> index 6d51a1a..f809a2b 100644
> --- a/tests/ovsdb-monitor.at
> +++ b/tests/ovsdb-monitor.at
> @@ -27,14 +27,8 @@ m4_define([OVSDB_CHECK_MONITOR],
> AT_CHECK([ovsdb-server --detach --no-chdir
> --pidfile="`pwd`"/server-pid --remote=punix:socket
> --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db
> >/dev/null 2>&1],
>  [0], [], [])
> AT_CAPTURE_FILE([ovsdb-client-log])
> -   if test "$IS_WIN32" = "yes"; then
> - AT_CHECK([ovsdb-client -vjsonrpc --pidfile="`pwd`"/client-pid
> --log-file="`pwd`"/ovsdb-client-log -d json monitor --format=csv
> unix:socket $4 $5 $8 > output 2>/dev/null &],
> -  [0], [ignore], [ignore], [kill `cat server-pid`])
> - sleep 1
> -   else
> - AT_CHECK([ovsdb-client -vjsonrpc --detach --no-chdir
> --pidfile="`pwd`"/client-pid --log-file="`pwd`"/ovsdb-client-log -d json
> monitor --format=csv unix:socket $4 $5 $8 > output],
> +   AT_CHECK([ovsdb-client -vjsonrpc --detach --no-chdir
> --pidfile="`pwd`"/client-pid --log-file="`pwd`"/ovsdb-client-log -d json
> monitor --format=csv unix:socket $4 $5 $8 > output],
>  [0], [ignore], [ignore], [kill `cat server-pid`])
> -   fi
> m4_foreach([txn], [$6],
>   [AT_CHECK([ovsdb-client transact unix:socket 'txn'], [0],
>   [ignore], [ignore], [kill `cat server-pid
> client-pid`])])
> @@ -72,20 +66,20 @@ m4_define([OVSDB_CHECK_MONITOR_COND],
> AT_CAPTURE_FILE([ovsdb-server-log])
> AT_CHECK([ovsdb-server --detach --no-chdir
> --pidfile="`pwd`"/server-pid --remote=punix:socket
> --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db
> >/dev/null 2>&1],
>  [0], [], [])
> -   if test "$IS_WIN32" = "yes"; then
> - AT_CHECK([ovsdb-client -vjsonrpc --pidfile="`pwd`"/client-pid -d
> json monitor-cond --format=csv unix:socket $4 '[$8]' $5 $9 > output &],
> -  [0], [ignore], [ignore], [kill `cat server-pid`])
> - sleep 1
> -   else
> - AT_CHECK([ ovsdb-client -vjsonrpc --detach --no-chdir
> --pidfile="`pwd`"/client-pid -d json monitor-cond --format=csv unix:socket
> $4 '[$8]' $5 $9 > output],
> +   AT_CHECK([ ovsdb-client -vjsonrpc --detach --no-chdir
> --pidfile="`pwd`"/client-pid -d json monitor-cond --format=csv unix:socket
> $4 '[$8]' $5 $9 > output],
>  [0], [ignore], [ignore], [kill `cat server-pid`])
> -   fi
> m4_foreach([txn], [$6],
>   [AT_CHECK([ovsdb-client transact unix:socket 'txn'], [0],
>   [ignore], [ignore], [kill `cat server-pid
> client-pid`])])
> -   CLIENT_PID=`cat "$OVS_RUNDIR"/client-pid 2>/dev/null`
> -   m4_foreach([cond], [$10],
> - [AT_CHECK([ovs-appctl -t "`pwd`"/ovsdb-client.$CLIENT_PID.ctl
> ovsdb-client/cond_change $5 'cond'], [0], [ignore], [ignore])])
> +   if test "$IS_WIN32" = "yes"; then
> + :
> + m4_foreach([cond], [$10],
> +   [AT_CHECK([ovs-appctl -t "`pwd`"/ovsdb-client.ctl
> ovsdb-client/cond_change $5 'cond'], [0], [ignore], [ignore])])
> +   else
> + CLIENT_PID=`cat "$OVS_RUNDIR"/client-pid 2>/dev/null`
> + m4_foreach([cond], [$10],
> +   [AT_CHECK([ovs-appctl -t "`pwd`"/ovsdb-client.$CLIENT_PID.ctl
> ovsdb-client/cond_change $5 'cond'], [0], [ignore], [ignore])])
> +   fi
> AT_CHECK([ovsdb-client transact unix:socket '[["$4"]]'], [0],
>  [ignore], [ignore], [kill `cat server-pid client-pid`])
> AT_CHECK([ovs-appctl -t "`pwd`"/unixctl -e exit], [0], [ignore],
> [ignore])
> --
> 2.9.2.windows.1
> ___
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v3 12/13] ofproto: Refactor packet_out handling.

2016-09-14 Thread Jarno Rajahalme

> On Sep 13, 2016, at 4:44 PM, Ben Pfaff  wrote:
> 
> On Mon, Sep 12, 2016 at 01:52:42PM -0700, Jarno Rajahalme wrote:
>> Refactor handle_packet_out() to prepare for bundle support for packet
>> outs in a later patch.
>> 
>> Two new callbacks are introduced in ofproto-provider class:
>> ->packet_xlate() and ->packet_execute().  ->packet_xlate() translates
>> the packet using the flow and actions provided by the caller, but
>> defers all OpenFlow-visible side-effects (stats, learn actions, actual
>> packet output, etc.) to be explicitly executed with the
>> ->packet_execute() call.
>> 
>> Adds a new ofproto_rule_reduce_timeouts__() that must be called with
>> 'ofproto_mutex' held.  This is used in the next patch.
>> 
>> Signed-off-by: Jarno Rajahalme 
>> ---
>> v3: Removed layer violations by making ofproto-dpif initialize and
>>manage its private 'aux' member in struct ofproto_packet_out.
> 
> It appears that an xlate_cache always allocates at least 512 bytes of
> space.  (It's not a change but I hadn't noticed before.)  Is that right?
> It seems like a lot, since I guess that the ordinary occupancy is much
> smaller than that.
> 

It’s an union, and the size is 40 bytes per entry. Given that each match/miss 
gets a table entry, each matched rule gets a rule entry, and then the 
occasional normal, learn, etc., the total size in a complex pipeline could 
easily be the 512 or more. E.g., pipeline of 15 tables would generate about 30 
entries, with total size of 1200 bytes in the ofpbuf.

However, since some pipelines are simple, I reduced the initial size to 120 
bytes. We can revisit this when the optimizations described below are done.

I have though of optimizing this further by making the entires variable sized, 
much like the ofpacts. We could also add a table number to the XC_RULE entry, 
and then modify the XC_TABLE to XC_TABLE_MISS. That would effectively halve the 
number of entries, and also make the average entry size about 16 bytes. 
Furthermore, entries now using malloc could use the ofpbuf directly, which 
could save some alloc/free overhead. Finally, we could give the same treatment 
that I did for XC_NORMAL to XC_BOND and XC_NETFLOW, replacing the full struct 
flow with just the fields that are needed.

> Acked-by: Ben Pfaff >


Thanks for the review!

  Jarno

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery.

2016-09-14 Thread Fedex Express Service

Kindly Click The Attached
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] Windows: Allow online compacting

2016-09-14 Thread Ben Pfaff
On Tue, Sep 13, 2016 at 06:58:42PM +, Alin Serdean wrote:
> > -Original Message-
> > From: Ben Pfaff [mailto:b...@ovn.org]
> > Sent: Friday, August 26, 2016 6:54 PM
> > To: Alin Serdean 
> > Cc: dev@openvswitch.org
> > Subject: Re: [ovs-dev] [PATCH] Windows: Allow online compacting
> > 
> > On Fri, Aug 12, 2016 at 07:39:32AM +, Alin Serdean wrote:
> > > This patch allows online compacting to be done under Windows.
> > >
> > > To achieve the above we need to close all file handles before trying
> > > to rename the file, switch from rename to MoveFileEx (because
> > > rename/MoveFile fails if the destination exists), reopen the right
> > > type of log after the rename.
> > >
> > > Signed-off-by: Alin Gabriel Serdean 
> > 
> > I think that this introduces a new kind of failure.  On other OSes,
> > ovsdb_file_compact() always leaves 'file' open and usable regardless of
> > whether it succeeds or fails.  I think that on Windows it can fail and 
> > close 'file'.
> > The callers don't expect that, so there needs to be some way to it to report
> > the problem.  And then we have to figure out how the database server
> > should deal with it if its database got closed and cannot be reopened.
> [Alin Serdean] Thanks for the review! You are right Ben, it introduces a new 
> problem.
> I am unware if the requests can be pended until we can reopen the database.
> If the requests can be pended we could add a retry counter otherwise
> we could log the error and exit out for the time being if something 'happens' 
> between close and open (since it has a slim chance of producing) and let the 
> service manager deal with a database service restart.

It's a difficult choice.  I think that I lean toward making the service
fail and exit with an error (VLOG_FATAL, perhaps).  Otherwise, we would
have to introduce a new mode where ovsdb-server periodically tries to
reopen its database and either rejects transaction requests entirely or
goes read-only.  *Maybe* that is the right approach, but it would
require careful testing.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH v0] lib: Create $(sysconfdir)/openvswitch upon install

2016-09-14 Thread Ben Pfaff
On Tue, Sep 13, 2016 at 11:26:15AM -0500, Flavio Fernandes wrote:
> In cases where dbdir and etcdir are not the same, there is a need
> for creating etcdir (i.e. $(sysconfdir)/openvswitch) explicitly.
> 
> Note that there is no attempt being made here to make the etcdir
> configurable as in "--with-dbdir".
> 
> Reported-at: http://openvswitch.org/pipermail/dev/2016-September/TBD.html
> Fixes: f973f2af2fd4 ("Make the location of the database separately 
> configurable.")
> Signed-off-by: Flavio Fernandes 

Seems reasonable, thanks.  I applied this to master and branch-2.6.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] backport request for 2.6: enable kernel datapath check in rpms

2016-09-14 Thread Ben Pfaff
On Tue, Sep 13, 2016 at 12:07:25PM -0400, Lance Richardson wrote:
> Requesting backports of these commits to the 2.6 branch:
> 
>     commit 8ef22bb1ceb7b2841d2e29eb283387f0a3a67ff9
>         rhel: add option to run kernel datapath test when building rpms

Russell, will you please consider this?

>     commit ed71ac3e23e472378b1d292fcd8d3c43e46fe153
>         check-kernel: add recheck support

This one appears to already be on branch-2.6, please let me know if I'm
wrong.

> These appear safe, and would save having to maintain out-of-tree
> versions of these commits.
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH] Tests: update monitor-cond tests on Windows

2016-09-14 Thread Alin Serdean
Windows allows '--detach' argument to be used.
This patch updates the ovsdb monitor tests to use it.

Fixes hanging test:
1889: monitor-cond-change

Signed-off-by: Alin Gabriel Serdean 
---
 tests/ovsdb-monitor.at | 28 +++-
 1 file changed, 11 insertions(+), 17 deletions(-)

diff --git a/tests/ovsdb-monitor.at b/tests/ovsdb-monitor.at
index 6d51a1a..f809a2b 100644
--- a/tests/ovsdb-monitor.at
+++ b/tests/ovsdb-monitor.at
@@ -27,14 +27,8 @@ m4_define([OVSDB_CHECK_MONITOR],
AT_CHECK([ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid 
--remote=punix:socket --unixctl="`pwd`"/unixctl 
--log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1],
 [0], [], [])
AT_CAPTURE_FILE([ovsdb-client-log])
-   if test "$IS_WIN32" = "yes"; then
- AT_CHECK([ovsdb-client -vjsonrpc --pidfile="`pwd`"/client-pid 
--log-file="`pwd`"/ovsdb-client-log -d json monitor --format=csv unix:socket $4 
$5 $8 > output 2>/dev/null &],
-  [0], [ignore], [ignore], [kill `cat server-pid`])
- sleep 1
-   else
- AT_CHECK([ovsdb-client -vjsonrpc --detach --no-chdir 
--pidfile="`pwd`"/client-pid --log-file="`pwd`"/ovsdb-client-log -d json 
monitor --format=csv unix:socket $4 $5 $8 > output],
+   AT_CHECK([ovsdb-client -vjsonrpc --detach --no-chdir 
--pidfile="`pwd`"/client-pid --log-file="`pwd`"/ovsdb-client-log -d json 
monitor --format=csv unix:socket $4 $5 $8 > output],
 [0], [ignore], [ignore], [kill `cat server-pid`])
-   fi
m4_foreach([txn], [$6],
  [AT_CHECK([ovsdb-client transact unix:socket 'txn'], [0],
  [ignore], [ignore], [kill `cat server-pid client-pid`])])
@@ -72,20 +66,20 @@ m4_define([OVSDB_CHECK_MONITOR_COND],
AT_CAPTURE_FILE([ovsdb-server-log])
AT_CHECK([ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid 
--remote=punix:socket --unixctl="`pwd`"/unixctl 
--log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1],
 [0], [], [])
-   if test "$IS_WIN32" = "yes"; then
- AT_CHECK([ovsdb-client -vjsonrpc --pidfile="`pwd`"/client-pid -d json 
monitor-cond --format=csv unix:socket $4 '[$8]' $5 $9 > output &],
-  [0], [ignore], [ignore], [kill `cat server-pid`])
- sleep 1
-   else
- AT_CHECK([ ovsdb-client -vjsonrpc --detach --no-chdir 
--pidfile="`pwd`"/client-pid -d json monitor-cond --format=csv unix:socket $4 
'[$8]' $5 $9 > output],
+   AT_CHECK([ ovsdb-client -vjsonrpc --detach --no-chdir 
--pidfile="`pwd`"/client-pid -d json monitor-cond --format=csv unix:socket $4 
'[$8]' $5 $9 > output],
 [0], [ignore], [ignore], [kill `cat server-pid`])
-   fi
m4_foreach([txn], [$6],
  [AT_CHECK([ovsdb-client transact unix:socket 'txn'], [0],
  [ignore], [ignore], [kill `cat server-pid client-pid`])])
-   CLIENT_PID=`cat "$OVS_RUNDIR"/client-pid 2>/dev/null`
-   m4_foreach([cond], [$10],
- [AT_CHECK([ovs-appctl -t "`pwd`"/ovsdb-client.$CLIENT_PID.ctl 
ovsdb-client/cond_change $5 'cond'], [0], [ignore], [ignore])])
+   if test "$IS_WIN32" = "yes"; then
+ :
+ m4_foreach([cond], [$10],
+   [AT_CHECK([ovs-appctl -t "`pwd`"/ovsdb-client.ctl 
ovsdb-client/cond_change $5 'cond'], [0], [ignore], [ignore])])
+   else
+ CLIENT_PID=`cat "$OVS_RUNDIR"/client-pid 2>/dev/null`
+ m4_foreach([cond], [$10],
+   [AT_CHECK([ovs-appctl -t "`pwd`"/ovsdb-client.$CLIENT_PID.ctl 
ovsdb-client/cond_change $5 'cond'], [0], [ignore], [ignore])])
+   fi
AT_CHECK([ovsdb-client transact unix:socket '[["$4"]]'], [0],
 [ignore], [ignore], [kill `cat server-pid client-pid`])
AT_CHECK([ovs-appctl -t "`pwd`"/unixctl -e exit], [0], [ignore], [ignore])
-- 
2.9.2.windows.1
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] [PATCH] Windows: Extend support for binaries which allow detach

2016-09-14 Thread Guru Shetty
On 14 September 2016 at 08:25, Alin Serdean  wrote:

> On Windows we require service_start to be called to parse and setup
> requirements for '--detach' argument.
> Affected binaries: ovn-trace, ovsdb-client, ovs-testcontroller.
>
> Subsequent patches will be sent to adapt the tests with the new features.
>
> Signed-off-by: Alin Gabriel Serdean 
>

Applied to master and 2.6, thanks.



> ---
>  ovn/utilities/ovn-trace.c  | 1 +
>  ovsdb/ovsdb-client.c   | 1 +
>  utilities/ovs-testcontroller.c | 1 +
>  3 files changed, 3 insertions(+)
>
> diff --git a/ovn/utilities/ovn-trace.c b/ovn/utilities/ovn-trace.c
> index 487ae52..f5607df 100644
> --- a/ovn/utilities/ovn-trace.c
> +++ b/ovn/utilities/ovn-trace.c
> @@ -73,6 +73,7 @@ int
>  main(int argc, char *argv[])
>  {
>  set_program_name(argv[0]);
> +service_start(, );
>  fatal_ignore_sigpipe();
>  vlog_set_levels_from_string_assert("reconnect:warn");
>  sbrec_init();
> diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c
> index 1f83f3b..5f569e8 100644
> --- a/ovsdb/ovsdb-client.c
> +++ b/ovsdb/ovsdb-client.c
> @@ -90,6 +90,7 @@ main(int argc, char *argv[])
>
>  ovs_cmdl_proctitle_init(argc, argv);
>  set_program_name(argv[0]);
> +service_start(, );
>  parse_options(argc, argv);
>  fatal_ignore_sigpipe();
>
> diff --git a/utilities/ovs-testcontroller.c b/utilities/ovs-
> testcontroller.c
> index 1db3bbe..2998de2 100644
> --- a/utilities/ovs-testcontroller.c
> +++ b/utilities/ovs-testcontroller.c
> @@ -105,6 +105,7 @@ main(int argc, char *argv[])
>
>  ovs_cmdl_proctitle_init(argc, argv);
>  set_program_name(argv[0]);
> +service_start(, );
>  parse_options(argc, argv);
>  fatal_ignore_sigpipe();
>
> --
> 2.9.2.windows.1
> ___
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH] Windows: Extend support for binaries which allow detach

2016-09-14 Thread Alin Serdean
On Windows we require service_start to be called to parse and setup
requirements for '--detach' argument.
Affected binaries: ovn-trace, ovsdb-client, ovs-testcontroller.

Subsequent patches will be sent to adapt the tests with the new features.

Signed-off-by: Alin Gabriel Serdean 
---
 ovn/utilities/ovn-trace.c  | 1 +
 ovsdb/ovsdb-client.c   | 1 +
 utilities/ovs-testcontroller.c | 1 +
 3 files changed, 3 insertions(+)

diff --git a/ovn/utilities/ovn-trace.c b/ovn/utilities/ovn-trace.c
index 487ae52..f5607df 100644
--- a/ovn/utilities/ovn-trace.c
+++ b/ovn/utilities/ovn-trace.c
@@ -73,6 +73,7 @@ int
 main(int argc, char *argv[])
 {
 set_program_name(argv[0]);
+service_start(, );
 fatal_ignore_sigpipe();
 vlog_set_levels_from_string_assert("reconnect:warn");
 sbrec_init();
diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c
index 1f83f3b..5f569e8 100644
--- a/ovsdb/ovsdb-client.c
+++ b/ovsdb/ovsdb-client.c
@@ -90,6 +90,7 @@ main(int argc, char *argv[])
 
 ovs_cmdl_proctitle_init(argc, argv);
 set_program_name(argv[0]);
+service_start(, );
 parse_options(argc, argv);
 fatal_ignore_sigpipe();
 
diff --git a/utilities/ovs-testcontroller.c b/utilities/ovs-testcontroller.c
index 1db3bbe..2998de2 100644
--- a/utilities/ovs-testcontroller.c
+++ b/utilities/ovs-testcontroller.c
@@ -105,6 +105,7 @@ main(int argc, char *argv[])
 
 ovs_cmdl_proctitle_init(argc, argv);
 set_program_name(argv[0]);
+service_start(, );
 parse_options(argc, argv);
 fatal_ignore_sigpipe();
 
-- 
2.9.2.windows.1
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 00513413175

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 00185947223

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 001911971079

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 003512698346

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 005755141995

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 009183391680

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 00718113

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 00163144836

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 00231534

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery Confirmation: 00175014

2016-09-14 Thread ship-confirm
PLEASE DO NOT REPLY TO THIS E-MAIL.  IT IS A SYSTEM GENERATED MESSAGE.

Attached is a pdf file containing items that have shipped
Please contact us if there are any questions or further assistance we can 
provide
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] Regarding OVS GTP implementation

2016-09-14 Thread Ashish Kurian
Dear Niti,

I tried to locate the file openvswitch.ko under OVS directory but such a
file does not exist in my directory. I think the installation procedure
that I followed to install OVS is different from what you used. Can you
tell me what procedure did you follow for the installation of OVS on your
linux machine?

Best Regards,
Ashish Kurian

On Wed, Sep 14, 2016 at 1:32 PM, niti Rohilla  wrote:

> Hi Ashish,
>
> After compilation you have to load the ovs kernel module.
>
> U can follow these steps:
> 1) Find the location of openvswitch.ko file in your openvswitch directory.
> It might be in this location datapath/linux/openvswitch.ko in ovs directory.
>
> 2) Use the command to find the location of openvswitch.ko in your linux
> system:
>
>-
>
>/sbin/modinfo openvswitch
>
> 3) Replace the file in step 2 with file in step 1.
>
> For example,
>
> cp datapath/linux/openvswitch.ko /lib/modules/3.2.0-57-generic-
> pae/updates/dkms/openvswitch.ko
>
> 4) make modules_install
>
> Hope it helps.
>
>
> Thanks
>
> Niti Rohilla
>
>
> On Sep 14, 2016 4:52 PM, "Ashish Kurian"  wrote:
>
>> Dear Niti,
>>
>> I used the commands that you suggested and I got the following error
>>
>> ¨failed to add gtp0 as port: Address family not supported by protocol¨
>>
>> Do you know what could be the reason for this error?
>>
>> Best Regards,
>> Ashish Kurian
>>
>> On Tue, Sep 13, 2016 at 9:24 AM, niti Rohilla  wrote:
>>
>>> Hi Ashish,
>>>
>>> I would recommend you to refer the 3GPP GTP-U specifications.
>>> http://www.arib.or.jp/IMT-2000/V720Mar09/5_Appendix/Rel8/29/
>>> 29281-800.pdf
>>>
>>> First you need to compile your code and load the openvswitch kernel
>>> module.
>>>
>>> U can use the following command to create a GTP-U tunnel:
>>>
>>>-
>>>
>>>ovs-vsctl add-port br2 gtp0 -- set interface gtp0 type=gtp
>>>options:remote_ip=flow options:key=flow
>>>
>>> I hope it helps and if you are planning to submit the code then please
>>> don't strip the signed-off part so that people can still refer to me or
>>> Saloni in case of problems.
>>>
>>>
>>> Thanks
>>>
>>> Niti
>>>
>>>
>>> On Tue, Sep 6, 2016 at 2:34 PM, Ashish Kurian 
>>> wrote:
>>>
 Dear Niti,

 Thank you very much for your reply. I have already asked in the open
 source community and all what I get as reply is that "no body is working on
 it right now and I must contact the author of the patch".

 So far I have installed the patch and fixed two errors that came up
 when I did the OVS test command. My next step is to evaluate the
 functionalities of the patch. But I do not have a clue how to give the
 ofctl commands matching gtp parameters. There must be some other
 documentation that TCS has prepared regarding this patch.

 If you are not aware of the documentation, can you please lead me to
 others from your team that worked on this project. Please understand that
 there is not much help available online as of now for this patch
 implementation.

 My next goal is to identify how to test this patch. Has your team
 already tested this patch and if so did you have some results of the test.

 I have even tried to contact Saloni Jain regarding the same. Please
 understand my situation and any help would be much appreciated.

 Best Regards,
 Ashish Kurian

 On Tue, Sep 6, 2016 at 6:28 AM, niti Rohilla 
 wrote:

> Hi Ashish,
>
> I have moved out of this project long time back. I would recommend you
> to send a mail to the opensource community so that the current stakeholder
> can help you.
>
> Thanks & Regards
> Niti Rohilla
>


>>>
>>
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


Re: [ovs-dev] Regarding OVS GTP implementation

2016-09-14 Thread niti Rohilla
Hi Ashish,

After compilation you have to load the ovs kernel module.

U can follow these steps:
1) Find the location of openvswitch.ko file in your openvswitch directory.
It might be in this location datapath/linux/openvswitch.ko in ovs directory.

2) Use the command to find the location of openvswitch.ko in your linux
system:

   -

   /sbin/modinfo openvswitch

3) Replace the file in step 2 with file in step 1.

For example,

cp datapath/linux/openvswitch.ko
/lib/modules/3.2.0-57-generic-pae/updates/dkms/openvswitch.ko

4) make modules_install

Hope it helps.


Thanks

Niti Rohilla


On Sep 14, 2016 4:52 PM, "Ashish Kurian"  wrote:

> Dear Niti,
>
> I used the commands that you suggested and I got the following error
>
> ¨failed to add gtp0 as port: Address family not supported by protocol¨
>
> Do you know what could be the reason for this error?
>
> Best Regards,
> Ashish Kurian
>
> On Tue, Sep 13, 2016 at 9:24 AM, niti Rohilla  wrote:
>
>> Hi Ashish,
>>
>> I would recommend you to refer the 3GPP GTP-U specifications.
>> http://www.arib.or.jp/IMT-2000/V720Mar09/5_Appendix/Rel8/29/29281-800.pdf
>>
>> First you need to compile your code and load the openvswitch kernel
>> module.
>>
>> U can use the following command to create a GTP-U tunnel:
>>
>>-
>>
>>ovs-vsctl add-port br2 gtp0 -- set interface gtp0 type=gtp
>>options:remote_ip=flow options:key=flow
>>
>> I hope it helps and if you are planning to submit the code then please
>> don't strip the signed-off part so that people can still refer to me or
>> Saloni in case of problems.
>>
>>
>> Thanks
>>
>> Niti
>>
>>
>> On Tue, Sep 6, 2016 at 2:34 PM, Ashish Kurian 
>> wrote:
>>
>>> Dear Niti,
>>>
>>> Thank you very much for your reply. I have already asked in the open
>>> source community and all what I get as reply is that "no body is working on
>>> it right now and I must contact the author of the patch".
>>>
>>> So far I have installed the patch and fixed two errors that came up when
>>> I did the OVS test command. My next step is to evaluate the functionalities
>>> of the patch. But I do not have a clue how to give the ofctl commands
>>> matching gtp parameters. There must be some other documentation that TCS
>>> has prepared regarding this patch.
>>>
>>> If you are not aware of the documentation, can you please lead me to
>>> others from your team that worked on this project. Please understand that
>>> there is not much help available online as of now for this patch
>>> implementation.
>>>
>>> My next goal is to identify how to test this patch. Has your team
>>> already tested this patch and if so did you have some results of the test.
>>>
>>> I have even tried to contact Saloni Jain regarding the same. Please
>>> understand my situation and any help would be much appreciated.
>>>
>>> Best Regards,
>>> Ashish Kurian
>>>
>>> On Tue, Sep 6, 2016 at 6:28 AM, niti Rohilla  wrote:
>>>
 Hi Ashish,

 I have moved out of this project long time back. I would recommend you
 to send a mail to the opensource community so that the current stakeholder
 can help you.

 Thanks & Regards
 Niti Rohilla

>>>
>>>
>>
>
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] test

2016-09-14 Thread users
The message was undeliverable due to the following reason:

Your message was not delivered because the destination server was
not reachable within the allowed queue period. The amount of time
a message is queued before it is returned depends on local configura-
tion parameters.

Most likely there is a network problem that prevented delivery, but
it is also possible that the computer is turned off, or does not
have a mail system running right now.

Your message was not delivered within 5 days:
Server 5.92.120.121 is not responding.

The following recipients could not receive this message:


Please reply to postmas...@lists.strongswan.org
if you feel this message to be in error.

___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] Delivery reports about your e-mail

2016-09-14 Thread Returned mail
„÷«Ñõý ÕD×r}ƒ³®w·ÔStî˜
‰5mmeá%ì£L™.º})ùMÜg²q¸ãîžÙâUg.íí})
Bqž­#:íœç<æ¬9à‚›Ä'¼IutcmZ Z£ÁUn"Í[Ö jId/xÈꚣö„âúWÓ­PS{úµ¥“ðˎzޝþ
èì×£ó‡Q½Ñº\b.%e*sŸzOû>ÄGãÑÏÙËàoZü§íDÎCQøŸöì:N¥Ï°Á[
Qf_čM–³â·WœqܕfYÊk ¬qðع®~H!Ï7ù£ÆÐؕ÷©™Áޔ¬ªRËÌè,rŠfí"¾w}2ÕɲUnx·Nïю
´¸éf6ŠV`¸áÔè\–rŽœHŒ•£)®áÆ{üOñ³gX±ðá6h6)}üîH¼7ÌÚúŸH¹s½Äw$!ŸA(/vÀ õP]ê?¢ 
Fv˜÷]…Ån c:Àft1˜’)׶ÚY…ß°qeTBkh§ËÞ$›lÏ7ÃCQQT3]'¨cNñ»½cí±p¯eáa(qÎÂÉíJ¾³65
8Pm“„Ñz
X®#ìCMÊ\2 é
‘B†ÓBPˆ²4ËË|V)qjŸ
Ô°Q­¤ˆ°Ì嬼gnðÏõL~Eç¯òe]ªQí¡gïu/AeŸ°5ˆßDRß´Ÿ&›]¤Î¥âÝ{â{C…k ¦
q3V³ÒÜb.°ÊÅÌúÌ[lô»üòúxHtU•jvÇ¥¸ûSOÙ3«ïJ
 Y¡¢«ZA¦K^ØÝöÅìµçWú~µ\úõ䑝aãLJ#È3½k2Á^ÑoLJ¦*9·(
(™IIH|f•™ƒHhŒYð^Ú3´$βI’5ùömáSœwÌ`.y%Ä[ÝðHDxìò#1a£¦]ÉihC‡hÁ»„ÕŒr)†ðw´½²«Œyò:KP
µìËaóEQæŊú®äÒÕxh.²ÍvN˜ßÕ6²&²pÌÛ³¶O±§nQJ”DÚ!7
ºe¬Osn-}Îùšó™Ñ…©¢–ù>ˆ‹Éuú‚ãZ
s““ÅZ×éÝê3òE‡~¢ŒM1ÞûøðÅåE)H< ½SÌËú¡GqQû¶µ#ºóQ¨“ëxæœ2ðzîé!'QŒó)2™›cCiÇâ‹[!žD×ܸ˜/¬ÜÛr µb üž"<ÞdŽ­
fé4Ÿ·<`\ðÁ¦Èƹó”'°ÏÊ!FÉû„»ËäÍDõ?û~tÑ6rüǚ
ôêjå oB4üìâÞô6L‹XÝÝ?«£‰ªÃ¤ÐV3ûŸˆ^4ô8åԒ
¡Îv
'
íSW‹Ã
”²Ë,Dc“Š2pßÖ!·˜qtl&¿VîÄ×Æ"dK<˜øðŽ°­:s/ÜpN
”Yy™÷¼­´Lx–{½1ä-ŠÒãšô5„ͧù‘k;R¯˜Øä¼
æ⤝½z6ùp(Îð‰ŒÆaj†h»¡üÞÕõqŸ.ü¾Ý/qµ!ª¸ÓÇåHGsè,µ.Ðsþš}¨hځ›n{w„¢ŒÕ„ 
j¸Fúu]E¦¿[Äy\iJ1äè!lôWØ.¬ÜÂ_3ÂuK/õK Mˆät¿0¢¼¹Æ,ÖóÉìWّޠ
¡ñ;†ØAcJZªø݂t˔¯|sàߊb1à¡3Ãj