Jeroen van Bemmel | 4 Jul 23:47 2015
Picon

V2: Hashing: Add truly symmetric L3+L4 fields option for multipath and bundle hashing

The symmetric_l4 function implements a hash over various fields
including L2 fields such as ethernet source and destination MAC.
Inspite of its name, there are situations in which this hash does not
yield symmetric results ( e.g. when using VRRP, where the router
receives packets on a virtual MAC but responds from its physical MAC )

This patch (v2) adds new 'symmetric_l3l4' and 'symmetric_l3l4+udp' functions
using murmur3 hashing. They are identical, except that the latter also includes
UDP src/dst ports in the hash.

Signed-off-by:Jeroen van Bemmel <jvb127 <at> gmail.com>
Suggested-by: Ben Pfaff <blp <at> nicira.com>

diff --git a/NEWS b/NEWS
index 59f2552..5d48208 100644
--- a/NEWS
+++ b/NEWS
 <at>  <at>  -11,6 +11,11  <at>  <at>  Post-v2.4.0
      * OpenFlow 1.4+ OFPMP_TABLE_DESC is now implemented.
    - Support for matching and generating options with Geneve tunnels.
    - Support Multicast Listener Discovery (MLDv1 and MLDv2).
+   - Add 'symmetric_l3l4' and 'symmetric_l3l4+udp' as fields options for
+     multipath and bundle, to enable truly symmetric hashing excluding
+     L2 headers, with optional inclusion of UDP ports. The original
+     'symmetric_l3' remains available, and is still used internally for
+     backwards compatibility

 v2.4.0 - xx xxx xxxx
diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h
index 22325aa..9154800 100644
(Continue reading)

Sorin Vinturis | 3 Jul 17:36 2015

[PATCH] datapath-windows: Modified dump start message memory representation

Changed the dump start message memory representation to be static.

Signed-off-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
---
 datapath-windows/ovsext/Datapath.c | 53 +++++++++++++++++---------------------
 datapath-windows/ovsext/Datapath.h |  8 +++---
 datapath-windows/ovsext/Flow.c     |  4 +--
 datapath-windows/ovsext/Util.h     |  5 ++++
 datapath-windows/ovsext/Vport.c    |  9 ++++---
 5 files changed, 40 insertions(+), 39 deletions(-)

diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 4af909c..603008d 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
 <at>  <at>  -347,21 +347,16  <at>  <at>  NDIS_SPIN_LOCK ovsCtrlLockObj;
 PNDIS_SPIN_LOCK gOvsCtrlLock;

 NTSTATUS
-InitUserDumpState(POVS_OPEN_INSTANCE instance,
-                  POVS_MESSAGE ovsMsg)
+SetUserDumpState(POVS_OPEN_INSTANCE instance,
+                 POVS_MESSAGE ovsMsg)
 {
     /* Clear the dumpState from a previous dump sequence. */
-    ASSERT(instance->dumpState.ovsMsg == NULL);
+    ASSERT(OvsBufferIsEmpty((char*)&instance->dumpState.ovsMsg,
+                             sizeof(instance->dumpState.ovsMsg)));
     ASSERT(ovsMsg);

(Continue reading)

Ben Pfaff | 3 Jul 05:41 2015

[PATCH v2 0/3] eviction importance

This is v2 of the series originally posted beginning here:
http://openvswitch.org/pipermail/dev/2015-June/056771.html

v1->v2:
   First three patches dropped because they were committed.
   See individual patches for detailed changes.

Ben Pfaff (3):
  ofproto: Use OF1.4+ "importance" as part of eviction criteria.
  Implement OpenFlow 1.4+ OFPTC_EVICTION.
  Implement OpenFlow 1.4+ OFPMP_TABLE_DESC message.

 DESIGN.md                       |  85 +++++++++-
 NEWS                            |   3 +
 include/openflow/openflow-1.3.h |   9 +-
 include/openflow/openflow-1.4.h |  10 ++
 lib/learning-switch.c           |   2 +
 lib/ofp-msgs.h                  |  10 ++
 lib/ofp-parse.c                 |  52 ++++--
 lib/ofp-parse.h                 |   2 +-
 lib/ofp-print.c                 | 129 ++++++++++++---
 lib/ofp-util.c                  | 353 +++++++++++++++++++++++++++++++++-------
 lib/ofp-util.h                  |  73 ++++++++-
 lib/rconn.c                     |   2 +
 ofproto/ofproto-provider.h      |   9 +-
 ofproto/ofproto.c               | 260 ++++++++++++++++++++---------
 ofproto/ofproto.h               |  18 +-
 ovn/controller/ofctrl.c         |   2 +
 tests/ofp-print.at              |   2 +-
 tests/ofproto.at                |  86 ++++++++++
(Continue reading)

Luis E. P | 2 Jul 21:34 2015

[PATCH v3] datapath/README: fixed some typos

Signed-off-by: Luis E. P <lpena <at> vmware.com>
---
 AUTHORS            | 1 +
 datapath/README.md | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 845d20c..b82d5ed 100644
--- a/AUTHORS
+++ b/AUTHORS
 <at>  <at>  -109,6 +109,7  <at>  <at>  Lorand Jakab            lojakab <at> cisco.com
 Luca Giraudo            lgiraudo <at> nicira.com
 Lucian Petrut           lpetrut <at> cloudbasesolutions.com
 Luigi Rizzo             rizzo <at> iet.unipi.it
+Luis E. P.				l31g <at> hotmail.com
 Madhu Challa            challa <at> noironetworks.com
 Mark D. Gray            mark.d.gray <at> intel.com
 Mark Hamilton           mhamilton <at> nicira.com
diff --git a/datapath/README.md b/datapath/README.md
index 1a4d8e1..8faecc0 100644
--- a/datapath/README.md
+++ b/datapath/README.md
 <at>  <at>  -99,10 +99,11  <at>  <at>  passed over the Netlink socket. A flow key, exactly as described above, and an
 optional corresponding flow mask.

 A wildcarded flow can represent a group of exact match flows. Each '1' bit
-in the mask specifies a exact match with the corresponding bit in the flow key.
+in the mask specifies an exact match with the corresponding bit in the flow key.
 A '0' bit specifies a don't care bit, which will match either a '1' or '0' bit
-of a incoming packet. Using wildcarded flow can improve the flow set up rate
(Continue reading)

Ben Pfaff | 2 Jul 19:51 2015

[PATCH v2] ovn: Take advantage of OVSDB garbage collection in OVN_Northbound schema.

Until now, the OVN_Northbound schema has been designed to sidestep a
weakness in the OVSDB protocol when a column has a great deal of data in
it.  In the current OVSDB protocol, whenever a column changes, the entire
new value of the column is sent to all of the clients that are monitoring
that column.  That means that adding or removing a small amount of data,
say 1 element in a set, requires sending all of the data, which is
expensive if the column has a lot of data.

One example of a column with potential to have a lot of data is the set of
ports within a logical switch, if a logical switch has a large number of
ports.  Thus, the existing OVN_Northbound schema has each Logical_Port
point to its containing Logical_Switch instead of the other way around.
This sidesteps the problem because it does not use any large columns.

The tradeoff that this forces, however, is that the schema cannot take
advantage of OVSDB's garbage collection feature, where it automatically
deletes rows that are unreferenced.  That's a problem for Neutron because
of Neutron-internal races between deletion of a Logical_Switch and
creation of new Logical_Ports on the switch being deleted.  When such a
race happens, OVSDB refuses to delete the Logical_Switch because of
references to it from the newly created Logical_Port (although Neutron
does delete the pre-existing logical ports).

To solve the problem, this commit changes the OVN_Northbound schema to
use a set of ports within Logical_Switch.  That will lead to large columns
for large logical switches; I plan to address that (though I don't have
code written) by enhancing the OVSDB protocol.  With this commit applied,
the database will automatically cascade deleting a logical switch row to
delete all of its ports, ACLs, and its router port (if any).

(Continue reading)

Luis E. P | 2 Jul 17:58 2015

[PATCH 1/2] datapaht/README: fixed some minor typos

Signed-off-by: Luis E. P <lpena <at> vmware.com>
---
 datapath/README.md | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/datapath/README.md b/datapath/README.md
index 1a4d8e1..0ca0377 100644
--- a/datapath/README.md
+++ b/datapath/README.md
 <at>  <at>  -41,7 +41,7  <at>  <at>  flow key that it parsed from the packet.  Userspace then extracts its
 own notion of a flow key from the packet and compares it against the
 kernel-provided version:

-  - If userspace's notion of the flow key for the packet matches the
+  - If the userspace's notion of the flow key for the packet matches the
     kernel's, then nothing special is necessary.

   - If the kernel's flow key includes more fields than the userspace
 <at>  <at>  -99,10 +99,11  <at>  <at>  passed over the Netlink socket. A flow key, exactly as described above, and an
 optional corresponding flow mask.

 A wildcarded flow can represent a group of exact match flows. Each '1' bit
-in the mask specifies a exact match with the corresponding bit in the flow key.
+in the mask specifies an exact match with the corresponding bit in the flow key.
 A '0' bit specifies a don't care bit, which will match either a '1' or '0' bit
-of a incoming packet. Using wildcarded flow can improve the flow set up rate
-by reduce the number of new flows need to be processed by the user space program.
+of an incoming packet. Using a wildcarded flow can improve the flow set up rate
+by reducing the number of new flows that need to be processed by the user space 
+program.
(Continue reading)

Sorin Vinturis | 2 Jul 13:39 2015

[PATCH v2] datapath-windows: Solved BSOD when adding OVS ports

This BSOD occurred in the context of a packet (NBL) with multiple
NET_BUFFER(s) (NBs). The reason for the BSOD is due to the marking
of NBLs created by OVS as being external and wrongly completing them.

Signed-off-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/82
---
This patch should be applied both on master and branch 2.4.
---
 datapath-windows/ovsext/BufferMgmt.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/datapath-windows/ovsext/BufferMgmt.c b/datapath-windows/ovsext/BufferMgmt.c
index 83d6cde..3550e20 100644
--- a/datapath-windows/ovsext/BufferMgmt.c
+++ b/datapath-windows/ovsext/BufferMgmt.c
 <at>  <at>  -560,7 +560,8  <at>  <at>  OvsInitExternalNBLContext(PVOID ovsContext,

     poolHandle = NdisGetPoolFromNetBufferList(nbl);

-    if (poolHandle == context->ovsPool.ndisHandle) {
+    if (poolHandle == context->ovsPool.ndisHandle ||
+        nbl->SourceHandle == context->ovsPool.ndisHandle) {
         return (POVS_BUFFER_CONTEXT)NET_BUFFER_LIST_CONTEXT_DATA_START(nbl);
     }
     status = NdisAllocateNetBufferListContext(nbl, sizeof (OVS_BUFFER_CONTEXT),
 <at>  <at>  -801,6 +802,7  <at>  <at>  OvsPartialCopyNBL(PVOID ovsContext,
                       OVS_DEFAULT_PORT_NO);

(Continue reading)

Sorin Vinturis | 2 Jul 11:34 2015

[PATCH v2] datapath-windows: Solved memory leak in OVS datapath

When closing opened instances, make sure the user dump state is cleared.

Signed-off-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/90
Acked-by: Alin Gabriel Serdean <aserdean <at> cloudbasesolutions.com>
---
This patch should be applied both on master and branch 2.4.
---
 datapath-windows/ovsext/Datapath.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index d8024c8..4af909c 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
 <at>  <at>  -588,6 +588,7  <at>  <at>  OvsRemoveOpenInstance(PFILE_OBJECT fileObject)
     OvsReleaseCtrlLock();
     ASSERT(instance->eventQueue == NULL);
     ASSERT (instance->packetQueue == NULL);
+    FreeUserDumpState(instance);
     OvsFreeMemoryWithTag(instance, OVS_DATAPATH_POOL_TAG);
 }

--

-- 
1.9.0.msysgit.0
_______________________________________________
dev mailing list
dev <at> openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
(Continue reading)

Sorin Vinturis | 2 Jul 08:53 2015

[PATCH] datapath-windows: Solved memory leak in OVS datapath

When closing opened instances, make sure the user dump state is cleared.

Signed-off-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/90
---
This patch should be applied both on master and branch 2.4.
---
 datapath-windows/ovsext/Datapath.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index d8024c8..4af909c 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
 <at>  <at>  -588,6 +588,7  <at>  <at>  OvsRemoveOpenInstance(PFILE_OBJECT fileObject)
     OvsReleaseCtrlLock();
     ASSERT(instance->eventQueue == NULL);
     ASSERT (instance->packetQueue == NULL);
+    FreeUserDumpState(instance);
     OvsFreeMemoryWithTag(instance, OVS_DATAPATH_POOL_TAG);
 }

--

-- 
1.9.0.msysgit.0
_______________________________________________
dev mailing list
dev <at> openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
(Continue reading)

Alin Serdean | 2 Jul 08:35 2015

[PATCH] Solved datapath-windows: BSOD when initializing switch context

Add check in case of NdisAllocateRWLock fails to allocate the resources.

Check datapath->lock before trying to free it.

Signed-off-by: Alin Gabriel Serdean <aserdean <at> cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis <at> cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/92
---
 datapath-windows/ovsext/Flow.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c
index b93f475..69b546a 100644
--- a/datapath-windows/ovsext/Flow.c
+++ b/datapath-windows/ovsext/Flow.c
 <at>  <at>  -1513,6 +1513,11  <at>  <at>  OvsDeleteFlowTable(OVS_DATAPATH *datapath)
     DeleteAllFlows(datapath);
     OvsFreeMemoryWithTag(datapath->flowTable, OVS_FLOW_POOL_TAG);
     datapath->flowTable = NULL;
+
+    if (datapath->lock == NULL) {
+        return NDIS_STATUS_SUCCESS;
+    }
+
     NdisFreeRWLock(datapath->lock);

     return NDIS_STATUS_SUCCESS;
 <at>  <at>  -1544,6 +1549,10  <at>  <at>  OvsAllocateFlowTable(OVS_DATAPATH *datapath,
     }
     datapath->lock = NdisAllocateRWLock(switchContext->NdisFilterHandle);
(Continue reading)

SOLDES C'monelectro | 1 Jul 12:29 2015
Picon

Ventilateurs raffraîchisseur en SOLDES

Trop chaud ? profitez de cette offre!  [ promo.cemonelectro <at> gmail.com ](
http://r.news.cmonelectro.bjimmogroup.com/zavqr42lracvf.html )
 
[  ]( http://r.news.cmonelectro.bjimmogroup.com/3x7iz0ga59racvd.html )

 

Ventilateurs, Rafraichisseurs d'air, Humidificateur...

[  ]( http://r.news.cmonelectro.bjimmogroup.com/3x7iz0gaxpracvd.html )
[ Voir ce ventilateur ]( http://r.news.cmonelectro.bjimmogroup.com/3x7iz0gbq5racvd.html )
 

Ventilateur EWT EPH20G:
Le Vento Comfort H2O est 3 en 1

Il vous offre les performances d'un humidificateur, d'un rafraichisseur d air et d'un ventilateur.

Disposant d'un puissance de 70W et de 2 vitesses de ventilation, il est l'atout performant et compact pour
supporter les chaleurs estivales?
L'anti-chaleur tout confort

GARANTIE: 2 ans
[  ]( http://r.news.cmonelectro.bjimmogroup.com/3x7iz0gcilracvd.html )

 
[ Voir tous les ventilateurs ]( http://r.news.cmonelectro.bjimmogroup.com/3x7iz0gdb1racvd.html )
 

Payez en 3x sans frais.
(Continue reading)


Gmane