When handler threads are installing ukeys, they hold the ukey mutex for
the duration of flow setup. If a revalidator thread dumps this flow
while the handler holds the lock, it will attempt to lock it using
ovs_mutex_trylock(), then if it cannot grab the lock, skip the flow.
Attempting to lock on
Add the 128-bit murmurhash by Austin Appleby, for 32-bit systems from:
http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp
Signed-off-by: Joe Stringer
---
There is also a version for 64-bit systems which I haven't tried yet,
mostly because this version provides the same code for
Currently, when a revalidator thread first dumps a flow, it creates a
'udpif_key' object and caches a copy of a kernel flow key. This allows
us to perform lookups in the classifier to attribute stats and validate
the correctness of the datapath flow.
This patch sets up this cache from the handler
One of the limiting factors on the number of flows that can be supported
in the datapath is the overhead of assembling flow dump messages in the
datapath. This patch adds a new alternative to dumping the key, mask and
actions from the datapath, which is a 128-bit unique identifier for the
flow. For
An upcoming patch will change the access patterns for ukey maps to
increase the number of writers, and shift write-access from revalidator
threads to upcall handler threads. As such, it no longer makes sense to
tie these maps to revalidators in a 1:1 relationship.
This patch separates the ukey map
Signed-off-by: Joe Stringer
---
lib/dpif-linux.c | 91 +-
1 file changed, 42 insertions(+), 49 deletions(-)
diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c
index f4e78a1..a5f4182 100644
--- a/lib/dpif-linux.c
+++ b/lib/dpif-linux.c
@@ -110,6
Currently, ukeys are protected during revalidator_sweep__() as only one
thread accesses the ukey at a time. This is ensured using barriers:
all revalidators will be in the GC phase, so they will only access their
own ukey collection.
A future patch will change the access patterns to allow these uk
Future patches will make use of the 'struct dump_op' in a broader sense,
so this patch renames it to make things a bit clearer.
Signed-off-by: Joe Stringer
---
ofproto/ofproto-dpif-upcall.c | 95 +
1 file changed, 48 insertions(+), 47 deletions(-)
diff
This allows us to ignore most fields of a flow_dump, requiring only the
flow key for looking up the ukey. Fetching flows can also be avoided in
the corner case where a flow is missed from a dump but revalidation is
required.
A future patch will modify the datapath interface to make these cached
fi
Signed-off-by: Joe Stringer
---
lib/dpif-netdev.c | 209 ---
lib/flow.h |6 ++
tests/dpif-netdev.at|3 +
tests/ofproto-dpif.at | 20 +++--
tests/ofproto-macros.at |1 +
5 files changed, 164 insertions(+), 75 delet
This patch modifies the way that ukey lookup is done, to use a 128-bit
hash of the flow key as Netlink attributes. This hash is generated at
flow installation time, and passed down to the dpif so that datapaths
which support UID can index based on this ID rather than the flow. In the
unlikely case
Signed-off-by: Joe Stringer
---
ofproto/ofproto-dpif-upcall.c | 61 ++---
1 file changed, 33 insertions(+), 28 deletions(-)
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
index 5f1d6d5..bccd7e8 100644
--- a/ofproto/ofproto-dpif-up
These tests had the potential to fail due to statistics not updating
before the test script retrieves them. Fix them by waiting until the
next revalidation cycle.
Signed-off-by: Joe Stringer
---
tests/ofproto-dpif.at |6 ++
1 file changed, 6 insertions(+)
diff --git a/tests/ofproto-dpif
One of the current bottlenecks for revalidation performance is the cost of
assembling flow keys, masks and actions in the (linux) datapath. This series
seeks to reduce this cost by caching these elements in the udpif, and modifying
the datapath to skip sending these. To distinguish flows in the dat
Signed-off-by: Joe Stringer
---
lib/dpif.c |1 +
1 file changed, 1 insertion(+)
diff --git a/lib/dpif.c b/lib/dpif.c
index b2a1972..1a32ef6 100644
--- a/lib/dpif.c
+++ b/lib/dpif.c
@@ -840,6 +840,7 @@ dpif_flow_get(struct dpif *dpif,
struct dpif_op *opp;
struct dpif_op op;
+m
Reported-by: Jean Tourrilhes
Signed-off-by: Ben Pfaff
---
utilities/ovs-ofctl.8.in | 4
1 file changed, 4 insertions(+)
diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in
index d31c173..be82ed9 100644
--- a/utilities/ovs-ofctl.8.in
+++ b/utilities/ovs-ofctl.8.in
@@ -1408,6 +1
From: Jean Tourrilhes
Signed-off-by: Jean Tourrilhes
Signed-off-by: Ben Pfaff
---
Jean supplied this patch via github and the ONF JIRA ticketing system.
I have already applied it to master; I am posting it now so that readers of
ovs-dev see it.
diff --git a/tests/ofproto-dpif.at b/tests/ofprot
Commit 79fe0f4611b60 (meta-flow: Add 64-bit registers.) added support for
the OpenFlow 1.5 (draft) standardized registers, but neglected to cause
them to be serialized when Open vSwitch composes flow matches. This meant
that they were always sent to a controller as pairs of Nicira extension
regist
Set the stp port name before enabling it, so that debugging messages
have the name to print out.
Do not treat the first state initialization as a state change. Zero
is not a valid state, so changing from zero to STP_DISABLED is not a
state change.
Signed-off-by: Jarno Rajahalme
---
lib/stp.c
Finding a given port is faster.
Signed-off-by: Jarno Rajahalme
---
lib/rstp-common.h |5 +++--
lib/rstp-state-machines.c | 30 +++---
lib/rstp.c| 35 ++-
3 files changed, 36 insertions(+), 34 deletions(-)
di
Change the RSTP send_bpdu interface so that a recursive mutex is not
needed.
Signed-off-by: Jarno Rajahalme
---
lib/rstp-common.h |2 +-
lib/rstp-state-machines.c |2 +-
lib/rstp.c|7 +++
lib/rstp.h|5 ++---
ofproto/ofproto-dpif.c|
It was only used to guard against unintialized list.
Signed-off-by: Jarno Rajahalme
---
lib/rstp-common.h |1 -
lib/rstp-state-machines.c | 273 -
lib/rstp.c| 89 +++
3 files changed, 164 insertions(+), 199 de
Testing for sameness first makes the logic simpler to follow.
Signed-off-by: Jarno Rajahalme
---
lib/rstp-state-machines.c | 57 +++--
1 file changed, 24 insertions(+), 33 deletions(-)
diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machines.c
i
Signed-off-by: Jarno Rajahalme
---
lib/rstp-state-machines.c | 398 +
1 file changed, 182 insertions(+), 216 deletions(-)
diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machines.c
index 3a408b4..e8b8438 100644
--- a/lib/rstp-state-machines.c
Current code expects there to be a single thread that is responsible
for creating rstp and creating and deleting rstp_port objects. rstp
objects are also deleted from other threads, as managed by reference
counting.
rstp port objects are not reference counted, which means that
references to rstp
Signed-off-by: Jarno Rajahalme
---
lib/rstp.c | 132 ++--
lib/rstp.h | 12 +++---
2 files changed, 81 insertions(+), 63 deletions(-)
diff --git a/lib/rstp.c b/lib/rstp.c
index b0ad613..17830d9 100644
--- a/lib/rstp.c
+++ b/lib/rstp.c
@@
Prior to this patch the default values for ports were set in three
different places. This refactors them all to one helper function.
Signed-off-by: Jarno Rajahalme
---
lib/rstp.c | 105 ++--
ofproto/ofproto-dpif.c |1 +
2 files change
Signed-off-by: Jarno Rajahalme
---
lib/rstp.c | 54 ++
1 file changed, 22 insertions(+), 32 deletions(-)
diff --git a/lib/rstp.c b/lib/rstp.c
index 17830d9..6254bb8 100644
--- a/lib/rstp.c
+++ b/lib/rstp.c
@@ -225,19 +225,32 @@ rstp_create(co
Port number allocation was O(N^3), this refactoring will make it O(N^2).
Signed-off-by: Jarno Rajahalme
---
lib/rstp.c | 48 +---
1 file changed, 17 insertions(+), 31 deletions(-)
diff --git a/lib/rstp.c b/lib/rstp.c
index 6254bb8..034292d 100644
--
Signed-off-by: Jarno Rajahalme
---
lib/rstp.c | 34 --
lib/rstp.h | 42 +++---
2 files changed, 39 insertions(+), 37 deletions(-)
diff --git a/lib/rstp.c b/lib/rstp.c
index c674105..80479fb 100644
--- a/lib/rstp.c
+++ b/lib/
Signed-off-by: Jarno Rajahalme
---
lib/rstp.c | 39 ++-
ofproto/ofproto-dpif.c |2 +-
2 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/lib/rstp.c b/lib/rstp.c
index 3bec795..c674105 100644
--- a/lib/rstp.c
+++ b/lib/rstp.c
@@ -
Signed-off-by: Jarno Rajahalme
---
lib/rstp-common.h |7 ---
1 file changed, 7 deletions(-)
diff --git a/lib/rstp-common.h b/lib/rstp-common.h
index 6bc04eb..a67115b 100644
--- a/lib/rstp-common.h
+++ b/lib/rstp-common.h
@@ -205,13 +205,6 @@ struct rstp_priority_vector {
uint16_t br
I took my time starting the review, so I decided address issues as I
see them rather than just comment on them.
The first patch of this series is a minimally rebased version of the
v5 sent on ovs-dev on June 12th, 2014. Rest of the series is my
proposal for fixes and enhancements.
I could have r
Move port's configuration options where they belong, add typing, and
correct errors.
Signed-off-by: Jarno Rajahalme
---
vswitchd/vswitch.xml | 130 ++
1 file changed, 77 insertions(+), 53 deletions(-)
diff --git a/vswitchd/vswitch.xml b/vswitchd/
Signed-off-by: Jarno Rajahalme
---
lib/rstp-state-machines.c | 22 --
ofproto/ofproto-dpif.c| 11 ++-
vswitchd/bridge.c | 10 +-
3 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machin
Existing STP and RSTP test cases only test the protocols with test
utilities. These tests test them as part of OVS using the
netdev-dummy device.
Signed-off-by: Jarno Rajahalme
---
ofproto/ofproto-dpif.c | 16
tests/rstp.at | 86 +
t
hi,
Just sending out the meeting minutes for future reference.
Attendees: Alin Serdean, Samuel Ghinet, Ankur Sharma, Saurabh Shah, Nithin Raju
1. Review http://openvswitch.org/pipermail/dev/2014-August/044315.html
--
- VMware fol
hi Samuel,
Thanks for resending.
I'm CCing Ben if he as more points.
At a high level, IP helper uses the host Hyper-V's ARP and IP routing stack
functionality. At a high level it consists of the following parts:
1. Data structures the maintain the L2 and L3 cache.
2. Functionality to Query the
Re-sent.
From: Samuel Ghinet
Sent: Friday, August 08, 2014 8:57 PM
To: dev@openvswitch.org
Subject: OvsIpHelper vs the ARP method
Hello guys,
I wanted to ask you about this since a week or so.
I have seen that you use the OvsIpHelper to find dest eth for a given
Hi,
Would you be interested in acquiring leads from "VMware install base
accounts"?
We are pioneers in providing verified Technology user lists. We also have
the VMware products install accounts users - VMware vSphere, VMware vCenter,
VMware VCloud etc.
You can choose from the data fiel
On Tue, Aug 19, 2014 at 05:28:55PM -0600, Terry Wilson wrote:
> This allows things like initiating a wait request on an interface
> ofport being set.
>
> When the optional field is empty and operation is != or excludes
> then the result is true; otherwise it is false. If the field is
> set then th
Hi,
Would you be interested in acquiring leads from "VMware install base
accounts"?
We are pioneers in providing verified Technology user lists. We also have
the VMware products install accounts users - VMware vSphere, VMware vCenter,
VMware VCloud etc.
You can choose from the data fiel
>In this change we introduce Netlink.c, Netlink.h and NetlinkProto.h
>in datapath-windows. These files will provide netlink message
>data structures and parsing APIs.
>
>Changes are on similar lines to userspace netlink code.
>
>Change-Id: Ic225504eff3a25c0619ce3b27d8f54155d8af409
Not a review. I
In this patch we remove reference to OvsNetlink.h.
Since we do not refer to lib/netlink-protocol.h anymore,
hence removed the WIN_DP based check.
Change-Id: I281a0c6478e3de2e9b04c988bea57b06822a504e
---
datapath-windows/automake.mk | 5 +-
datapath-windows/include/OvsNetlink.h | 174 --
In this change we introduce Netlink.c, Netlink.h and NetlinkProto.h
in datapath-windows. These files will provide netlink message
data structures and parsing APIs.
Changes are on similar lines to userspace netlink code.
Change-Id: Ic225504eff3a25c0619ce3b27d8f54155d8af409
Signed-off-by: Ankur Sha
In this patch we incorporate the usage of netlink message
and the parsing APIs that were added in previous commit.
Change-Id: If627ba5a10d78b93668afd32da77807394cd06be
---
datapath-windows/include/OvsPub.h | 13 +++-
datapath-windows/ovsext/Datapath.c| 8 ++---
datapath-windows/ovsex
Accepted:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
Format: 1.8
Date: Wed, 20 Aug 2014 08:31:11 -0700
Source: openvswitch
Binary: openvswitch-common openvswitch-switch openvswitch-ipsec openvswitch-pki
openvswitch-dbg python-openvswitch openvswitch-test openvswitch-vtep
Architecture: sou
openvswitch_2.3.0+git20140819-2_i386.changes uploaded successfully to localhost
along with the files:
openvswitch-common_2.3.0+git20140819-2_i386.deb
openvswitch-switch_2.3.0+git20140819-2_i386.deb
openvswitch-ipsec_2.3.0+git20140819-2_i386.deb
openvswitch-dbg_2.3.0+git20140819-2_i386.deb
> On Aug 19, 2014, at 5:11 PM, Daniele Di Proietto
> wrote:
(Snip)
> +static inline size_t
> +emc_processing(struct dp_netdev *dp, struct emc_cache *flow_cache,
> + struct dpif_packet **packets, size_t cnt,
> + struct pkt_metadata *md, struct netdev_flow_key *keys
Acked-by: Saurabh Shah
From: Nithin Raju
Date: Thursday, August 14, 2014 at 9:02 PM
To: "dev@openvswitch.org"
Subject: [ovs-dev] [PATCH v3] datapath-windows: Use
OVS_DEFAULT_PORT_NO instead of 0 in a few places
>Signed-off-by: Nithin Raju
>---
> datapath-windows/ovsext/OvsActions.c
Will keep in mind. I targeted the ALL with the make not specific targets.
Kind Regards,
Alin.
From: Gurucharan Shetty [shet...@nicira.com]
Sent: Tuesday, August 19, 2014 5:37 PM
To: Alin Serdean
Cc: dev@openvswitch.org
Subject: Re: [ovs-dev] [PATCH] Add buil
51 matches
Mail list logo