[ovs-dev] Continue taking her until the night will be over!

2015-08-23 Thread Dylan




Important changes for your love life.

style2
{   text-align: center; color: #D90003; font-family: 
Cambria, 'Hoefler Text', 'Liberation Serif', Times, 'Times New Roman', serif; 
font-size: 20px; font-weight: bold;
}
style4
{border: 1px solid #707070;
}
style5
{text-align: center; color: #D90003; font-family: Cambria, 'Hoefler Text', 
'Liberation Serif', Times, 'Times New Roman', serif; font-size: 18px; 
font-weight: bold;
}
h1{color:#606060 !important;
display:block;
font-family:Helvetica;
font-size:20px;
font-style:normal;
font-weight:bold;
line-height:180%;
letter-spacing:0px;
margin:0;
text-align:center;
}





  

   
   Do you know how to maintain normal erection?  
  
  
   


   
  
  
Do you know what makes men of the world sweat from horror? The answer is 
erectile dysfunction.

  

  - Free pills only for You!

  - Free shipping

  
  
  
Only this week! 
Special discount - SAVE 95%
  

  




   


   
  



We will make you happier!   
   


  
   


   
  Shipping is fast and you’ll be rock hard in no time
   


   
  





unsubscribe from this list
   

  



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


[ovs-dev] peer ca cert test failure on Windows

2015-08-23 Thread Ben Pfaff
Hi Guru, I'm seeing the following test failure in the Windows builds on
the new test.  Do you have a lead on the problem?

Thanks,

Ben.

# -*- compilation -*-
1591. ovs-vsctl.at:1313: testing peer ca cert ...
/d/build/ob/bora-3008270/ovs/build/ovs/utilities/ovs-pki.in: log directory 
/d/build/ob/bora-3008270/ovs/build/ovs/tests/testsuite.dir/1591/d:/build/ob/bora-3008270/ovs/build/ovs/tests/testsuite.dir/1591
 does not exist and cannot be created
./ovs-vsctl.at:1324: ovsdb-tool create conf.db 
$abs_top_srcdir/vswitchd/vswitch.ovsschema
./ovs-vsctl.at:1325: ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid 
--private-key=$PKIDIR/ovsdbserver-privkey.pem 
--certificate=$PKIDIR/ovsdbserver-cert.pem 
--ca-cert=$PKIDIR/pki/switchca/cacert.pem 
--peer-ca-cert=$PKIDIR/ovsdbserver-cert.pem --remote=pssl:0:127.0.0.1 
--unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server.log conf.db
stderr:
stdout:
cat: cleanup: No such file or directory
./ovs-vsctl.at:1330: ovs-vsctl -t 5 --db=ssl:127.0.0.1:$SSL_PORT 
--private-key=$PKIDIR/vsctl-privkey.pem --certificate=$PKIDIR/vsctl-cert.pem 
--bootstrap-ca-cert=$PKIDIR/cacert.pem show
stderr:
2015-08-23T07:48:54Z|1|stream_ssl|ERR|SSL_use_PrivateKey_file: 
error:02001002:system library:fopen:No such file or directory
2015-08-23T07:48:54Z|2|stream_ssl|ERR|SSL_use_certificate_file: 
error:02001002:system library:fopen:No such file or directory
2015-08-23T07:48:54Z|3|stream_ssl|ERR|Private key must be configured to use 
SSL
2015-08-23T07:48:54Z|4|stream_ssl|ERR|Certificate must be configured to use 
SSL
ovs-vsctl: ssl:127.0.0.1:50363: database connection failed (Unknown error)
stdout:
./ovs-vsctl.at:1333: ovs_wait_cond () { test -e $PKIDIR/cacert.pem
}
ovs_wait
stderr:
stdout:
./ovs-vsctl.at:1333: exit code was 1, expected 0
1591. ovs-vsctl.at:1313: 1591. peer ca cert (ovs-vsctl.at:1313): FAILED 
(ovs-vsctl.at:1333)
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev


[ovs-dev] [PATCH V8 1/3] ovn-controller-vtep: Add vtep module.

2015-08-23 Thread Alex Wang
This commit adds the vtep module to ovn-controller-vtep.  The
module will scan through the Port_Binding table in OVN-SB database,
and update the vtep logcial switches tunnel keys.

Signed-off-by: Alex Wang 
---
V7->V8:
- Fix bug pointed out by Russell.

V6->V7:
- change the assertion to VLOG_ERR in vtep_lswitch_run().
- refine the vtep_lswitch_run() as suggested by Russell.
- refine vtep_lswitch_cleanup() as suggested by Russell.

V5->V6:
- rebase.

V5: new patch.
---
 ovn/controller-vtep/automake.mk   |4 +-
 ovn/controller-vtep/binding.c |3 +-
 ovn/controller-vtep/gateway.c |3 +-
 ovn/controller-vtep/ovn-controller-vtep.c |3 +
 ovn/controller-vtep/vtep.c|  168 +
 ovn/controller-vtep/vtep.h|   27 +
 tests/ovn-controller-vtep.at  |   52 +
 7 files changed, 257 insertions(+), 3 deletions(-)
 create mode 100644 ovn/controller-vtep/vtep.c
 create mode 100644 ovn/controller-vtep/vtep.h

diff --git a/ovn/controller-vtep/automake.mk b/ovn/controller-vtep/automake.mk
index 33f063f..cacfae6 100644
--- a/ovn/controller-vtep/automake.mk
+++ b/ovn/controller-vtep/automake.mk
@@ -5,7 +5,9 @@ ovn_controller_vtep_ovn_controller_vtep_SOURCES = \
ovn/controller-vtep/gateway.c \
ovn/controller-vtep/gateway.h \
ovn/controller-vtep/ovn-controller-vtep.c \
-   ovn/controller-vtep/ovn-controller-vtep.h
+   ovn/controller-vtep/ovn-controller-vtep.h \
+   ovn/controller-vtep/vtep.c \
+   ovn/controller-vtep/vtep.h
 ovn_controller_vtep_ovn_controller_vtep_LDADD = ovn/lib/libovn.la 
lib/libopenvswitch.la vtep/libvtep.la
 man_MANS += ovn/controller-vtep/ovn-controller-vtep.8
 EXTRA_DIST += ovn/controller-vtep/ovn-controller-vtep.8.xml
diff --git a/ovn/controller-vtep/binding.c b/ovn/controller-vtep/binding.c
index 652852d..d65f43c 100644
--- a/ovn/controller-vtep/binding.c
+++ b/ovn/controller-vtep/binding.c
@@ -226,7 +226,8 @@ binding_run(struct controller_vtep_ctx *ctx)
 }
 
 /* Removes all port binding association with vtep gateway chassis.
- * Returns true when all done. */
+ * Returns true when done (i.e. there is no change made to 'ovnsb_idl'),
+ * otherwise returns false. */
 bool
 binding_cleanup(struct controller_vtep_ctx *ctx)
 {
diff --git a/ovn/controller-vtep/gateway.c b/ovn/controller-vtep/gateway.c
index 025aff8..963d419 100644
--- a/ovn/controller-vtep/gateway.c
+++ b/ovn/controller-vtep/gateway.c
@@ -189,7 +189,8 @@ gateway_run(struct controller_vtep_ctx *ctx)
 }
 
 /* Destroys the chassis table entries for vtep physical switches.
- * Returns true when all done. */
+ * Returns true when done (i.e. there is no change made to 'ovnsb_idl'),
+ * otherwise returns false. */
 bool
 gateway_cleanup(struct controller_vtep_ctx *ctx)
 {
diff --git a/ovn/controller-vtep/ovn-controller-vtep.c 
b/ovn/controller-vtep/ovn-controller-vtep.c
index b54b29d..9908f8d 100644
--- a/ovn/controller-vtep/ovn-controller-vtep.c
+++ b/ovn/controller-vtep/ovn-controller-vtep.c
@@ -39,6 +39,7 @@
 
 #include "binding.h"
 #include "gateway.h"
+#include "vtep.h"
 #include "ovn-controller-vtep.h"
 
 static unixctl_cb_func ovn_controller_vtep_exit;
@@ -99,6 +100,7 @@ main(int argc, char *argv[])
 
 gateway_run(&ctx);
 binding_run(&ctx);
+vtep_run(&ctx);
 unixctl_server_run(unixctl);
 
 unixctl_server_wait(unixctl);
@@ -127,6 +129,7 @@ main(int argc, char *argv[])
  * We're done if all of them return true. */
 done = binding_cleanup(&ctx);
 done = gateway_cleanup(&ctx) && done;
+done = vtep_cleanup(&ctx) && done;
 if (done) {
 poll_immediate_wake();
 }
diff --git a/ovn/controller-vtep/vtep.c b/ovn/controller-vtep/vtep.c
new file mode 100644
index 000..c7b43c0
--- /dev/null
+++ b/ovn/controller-vtep/vtep.c
@@ -0,0 +1,168 @@
+/* Copyright (c) 2015 Nicira, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include 
+
+#include "vtep.h"
+
+#include "lib/hash.h"
+#include "lib/hmap.h"
+#include "lib/smap.h"
+#include "lib/sset.h"
+#include "lib/util.h"
+#include "ovn-controller-vtep.h"
+#include "openvswitch/vlog.h"
+#include "ovn/lib/ovn-sb-idl.h"
+#include "vtep/vtep-idl.h"
+
+VLOG_DEFINE_THIS_MODULE(vtep);
+
+/*
+ * Scans through the Binding table in ovnsb and updates the vtep logical
+ * switch tunnel keys.
+ *
+ */
+
+/* Updates the vtep Logical_Switch tab

[ovs-dev] [PATCH V8 2/3] ovn-controller-vtep: Extend vtep module to install Ucast_Macs_Remote.

2015-08-23 Thread Alex Wang
This commit extends the vtep module to support creating the
'Ucast_Macs_Remote' table entries in the vtep database for
MAC addresses on the ovn logical ports.

Signed-off-by: Alex Wang 
---
V7->V8:
- rebase.

V6->V7:
- rebase.
- adopt suggestions from Russell.

V5->V6:
- rebase.

V4->V5:
- rebase on top of master.
- rewrite the feature since a lot have changed.

V3->V4:
- add logic to remove Ucast_Macs_Remote for non-existent MACs.

V2->V3:
- rebase to master.

PATCH->V2:
- split into separate commit.
- few optimizations.
---
 ovn/controller-vtep/vtep.c   |  309 +-
 tests/ovn-controller-vtep.at |  136 +++
 2 files changed, 408 insertions(+), 37 deletions(-)

diff --git a/ovn/controller-vtep/vtep.c b/ovn/controller-vtep/vtep.c
index c7b43c0..a3514de 100644
--- a/ovn/controller-vtep/vtep.c
+++ b/ovn/controller-vtep/vtep.c
@@ -19,6 +19,7 @@
 
 #include "lib/hash.h"
 #include "lib/hmap.h"
+#include "lib/shash.h"
 #include "lib/smap.h"
 #include "lib/sset.h"
 #include "lib/util.h"
@@ -30,49 +31,78 @@
 VLOG_DEFINE_THIS_MODULE(vtep);
 
 /*
- * Scans through the Binding table in ovnsb and updates the vtep logical
- * switch tunnel keys.
+ * Scans through the Binding table in ovnsb, and updates the vtep logical
+ * switch tunnel keys and the 'Ucast_Macs_Remote' table in the VTEP
+ * database.
  *
  */
 
+/* Searches the 'chassis_rec->encaps' for the first vtep tunnel
+ * configuration, returns the 'ip'. */
+static const char *
+get_chassis_vtep_ip(const struct sbrec_chassis *chassis_rec)
+{
+if (chassis_rec) {
+size_t i;
+
+for (i = 0; i < chassis_rec->n_encaps; i++) {
+if (!strcmp(chassis_rec->encaps[i]->type, "vxlan")) {
+return chassis_rec->encaps[i]->ip;
+}
+}
+}
+
+return NULL;
+}
+
+/* Creates a new 'Ucast_Macs_Remote'. */
+static struct vteprec_ucast_macs_remote *
+create_umr(struct ovsdb_idl_txn *vtep_idl_txn, const char *mac,
+   const struct vteprec_logical_switch *vtep_ls)
+{
+struct vteprec_ucast_macs_remote *new_umr;
+
+new_umr = vteprec_ucast_macs_remote_insert(vtep_idl_txn);
+vteprec_ucast_macs_remote_set_MAC(new_umr, mac);
+vteprec_ucast_macs_remote_set_logical_switch(new_umr, vtep_ls);
+
+return new_umr;
+}
+
+/* Creates a new 'Physical_Locator'. */
+static struct vteprec_physical_locator *
+create_pl(struct ovsdb_idl_txn *vtep_idl_txn, const char *chassis_ip)
+{
+struct vteprec_physical_locator *new_pl;
+
+new_pl = vteprec_physical_locator_insert(vtep_idl_txn);
+vteprec_physical_locator_set_dst_ip(new_pl, chassis_ip);
+vteprec_physical_locator_set_encapsulation_type(new_pl, VTEP_ENCAP_TYPE);
+
+return new_pl;
+}
+
+
 /* Updates the vtep Logical_Switch table entries' tunnel keys based
  * on the port bindings. */
 static void
-vtep_lswitch_run(struct controller_vtep_ctx *ctx)
+vtep_lswitch_run(struct shash *vtep_pbs, struct sset *vtep_pswitches,
+ struct shash *vtep_lswitches)
 {
-struct shash vtep_lswitches = SHASH_INITIALIZER(&vtep_lswitches);
-struct sset vtep_pswitches = SSET_INITIALIZER(&vtep_pswitches);
 struct sset used_ls = SSET_INITIALIZER(&used_ls);
-const struct vteprec_physical_switch *pswitch;
-const struct sbrec_port_binding *port_binding_rec;
-const struct vteprec_logical_switch *vtep_ls;
-
-/* Registers all vtep physical switch names in the vtep database. */
-VTEPREC_PHYSICAL_SWITCH_FOR_EACH (pswitch, ctx->vtep_idl) {
-sset_add(&vtep_pswitches, pswitch->name);
-}
-
-/* Stores all logical switches to 'vtep_lswitches' with name as key. */
-VTEPREC_LOGICAL_SWITCH_FOR_EACH (vtep_ls, ctx->vtep_idl) {
-shash_add(&vtep_lswitches, vtep_ls->name, vtep_ls);
-}
+struct shash_node *node;
 
-ovsdb_idl_txn_add_comment(ctx->vtep_idl_txn,
-  "ovn-controller-vtep: update logical switch "
-  "tunnel keys");
 /* Collects the logical switch bindings from port binding entries.
  * Since the binding module has already guaranteed that each vtep
  * logical switch is bound only to one ovn-sb logical datapath,
  * we can just iterate and assign tunnel key to vtep logical switch. */
-SBREC_PORT_BINDING_FOR_EACH(port_binding_rec, ctx->ovnsb_idl) {
-if (strcmp(port_binding_rec->type, "vtep")
-|| !port_binding_rec->chassis) {
-continue;
-}
+SHASH_FOR_EACH (node, vtep_pbs) {
+const struct sbrec_port_binding *port_binding_rec = node->data;
 const char *pswitch_name = smap_get(&port_binding_rec->options,
 "vtep-physical-switch");
 const char *lswitch_name = smap_get(&port_binding_rec->options,
 "vtep-logical-switch");
+const struct vteprec_logical_switch *vtep_ls;
 
 /* If 'port_binding_rec->chassis' exist

[ovs-dev] [PATCH V8 3/3] ovn-controller-vtep: Update related documentation.

2015-08-23 Thread Alex Wang
This commit conducts the following documentation changes:

*   add a description in ovn-architecture manual for
the life cycle about VTEP gateway.

*   add TODOs related to ovn-controller-vtep.

*   refine the ovn-sb, ovn-nb schema manual to require
logical 'port' type and 'options' configuration.

Signed-off-by: Alex Wang 
Acked-by: Russell Bryant 
---
V7->V8:
- rebase.

V6->V7:
- adopt suggestions from Russell.
- leave out the documentation of feature that has not been implemented yet.

V5->V6:
- add description in ovn-architecture.

V5: new patch.
---
 ovn/TODO   |   21 +++
 ovn/ovn-architecture.7.xml |   87 
 ovn/ovn-nb.xml |   31 +---
 ovn/ovn-sb.xml |   41 +
 4 files changed, 167 insertions(+), 13 deletions(-)

diff --git a/ovn/TODO b/ovn/TODO
index 356b3ba..56cac87 100644
--- a/ovn/TODO
+++ b/ovn/TODO
@@ -80,3 +80,24 @@
So far, both ovn-controller and ovn-controller-vtep only allow
chassis to have one tunnel encapsulation entry.  We should extend
the implementation to support multiple tunnel encapsulations.
+
+** Update learned MAC addresses from VTEP to OVN
+
+   The VTEP gateway stores all MAC addresses learned from its
+   physical interfaces in the 'Ucast_Macs_Local' and the
+   'Mcast_Macs_Local' tables.  ovn-controller-vtep should be
+   able to update those information back to ovn-sb database,
+   so that other chassis knows where to send packets destined
+   to the extended external network instead of broadcasting.
+
+** Translate ovn-sb Multicast_Group table into VTEP config
+
+   The ovn-controller-vtep daemon should be able to translate
+   the Multicast_Group table entry in ovn-sb database into
+   Mcast_Macs_Remote table configuration in VTEP database.
+
+* Use BFD as tunnel monitor.
+
+   Both ovn-controller and ovn-contorller-vtep should use BFD to
+   monitor the tunnel liveness.  Both ovs-vswitchd schema and
+   VTEP schema supports BFD.
\ No newline at end of file
diff --git a/ovn/ovn-architecture.7.xml b/ovn/ovn-architecture.7.xml
index c9ac597..ef13b56 100644
--- a/ovn/ovn-architecture.7.xml
+++ b/ovn/ovn-architecture.7.xml
@@ -806,6 +806,93 @@
 
   
 
+  Life Cycle of a VTEP gateway
+
+  
+A gateway is a chassis that forwards traffic between the OVN-managed
+part of a logical network and a physical VLAN,  extending a
+tunnel-based logical network into a physical network.
+  
+
+  
+The steps below refer often to details of the OVN and VTEP database
+schemas.  Please see ovn-sb(5), ovn-nb(5)
+and vtep(5), respectively, for the full story on these
+databases.
+  
+
+  
+
+  A VTEP gateway's life cycle begins with the administrator registering
+  the VTEP gateway as a Physical_Switch table entry in the
+  VTEP database.  The ovn-controller-vtep
+  connected to this VTEP database, will recognize the new VTEP gateway
+  and create a new Chassis table entry for it in the
+  OVN_Southbound database.
+
+
+
+  The administrator can then create new Logical_Switch
+  table entry, and bind particular vlan on VTEP gateway's port to
+  any VTEP logical switch.  Once a VTEP logical switch is bound to
+  a VTEP gateway, the ovn-controller-vtep will detect
+  it and add its name to the vtep_logical_switches
+  column of the Chassis table in the 
+  OVN_Southbound database.  Note, the tunnel_key
+  column of VTEP logical switch is not filled at creation.  The
+  ovn-controller-vtep will set the column when the
+  correponding vtep logical switch is bound to an OVN logical network.
+
+
+
+  Now, the administrator can use the CMS to add VTEP logical switch
+  to the OVN logical network.  To do that, the CMS must first create a
+  new Logical_Port table entry in the 
+  OVN_Northbound database.  Then, the type column
+  of this entry must be set to "vtep".  Next, the 
+  vtep-logical-switch and vtep-physical-switch keys
+  in the options column must also be specified, since
+  multiple VTEP gateways can attach to the same VTEP logical switch.
+
+
+
+  The newly created logical port in the OVN_Northbound
+  database and its configuration will be passed down to the 
+  OVN_Southbound database as a new Port_Binding
+  table entry.  The ovn-controller-vtep will recognize the
+  change and bind the logical port to the corresponding VTEP gateway
+  chassis.  Configuration of binding same VTEP logical switch to
+  different OVN logical networks is not allowed and warning will be
+  generated in the log.
+
+
+
+  Beside binding to the VTEP gateway chassis, the 
+  ovn-controller-vtep will update the tunnel_key
+  column of the VTEP logical switch to the corresponding 
+  Datapath_Binding table entry's tunnel_key for the
+  bound OVN logical network.
+   

[ovs-dev] Returned mail: Data format error

2015-08-23 Thread hjstein
Dear user dev@openvswitch.org,

We have found that your email account was used to send a large amount of spam 
during this week.
Probably, your computer was infected by a recent virus and now runs a hidden 
proxy server.

Please follow our instructions in order to keep your computer safe.

Virtually yours,
The openvswitch.org team.

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


[ovs-dev] Returned mail: Data format error

2015-08-23 Thread Post Office
This Message was undeliverable due to the following reason:

Your message was not delivered because the destination computer 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 7 days:
Host 101.129.24.251 is not responding.

The following recipients did not receive this message:


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



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