Implements OVS kernel meter action support.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 3 +++
net/openvswitch/actions.c| 6 ++
net/openvswitch/datapath.h | 1 +
net/openvswitch/flow_netlink.c | 6 ++
4 files changed, 16 inse
OVS kernel datapath so far does not support Openflow meter action.
This is the first stab at adding kernel datapath meter support.
This implementation supports only drop band type.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/Makefile | 1 +
net/openvswitch/datapath.c
Later patches will invoke get_dp() outside of datapath.c. Export it.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/datapath.c | 29 -
net/openvswitch/datapath.h | 31 +++
2 files changed, 31 insertions(+), 29 del
; references on 32 bit builds.
use div_u64() instead.
v4 -> v5: rebase
Andy Zhou (4):
openvswitch: Add meter netlink definitions
openvswitch: export get_dp() API.
openvswitch: Add meter infrastructure
openvswitch: Add meter action support
include/uapi/
Meter has its own netlink family. Define netlink messages and attributes
for communicating with the user space programs.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 51
1 file changed, 51 insertions(+)
diff
On Thu, Nov 9, 2017 at 12:50 AM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Thu, Nov 9, 2017 at 11:00 AM, Andy Zhou <az...@ovn.org> wrote:
>> Implements OVS kernel meter action support.
>>
>> Signed-off-by: Andy Zhou <az...@ovn.org>
>> ---
> I
Implements OVS kernel meter action support.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 3 +++
net/openvswitch/actions.c| 6 ++
net/openvswitch/datapath.h | 1 +
net/openvswitch/flow_netlink.c | 6 ++
4 files changed, 16 inse
OVS kernel datapath so far does not support Openflow meter action.
This is the first stab at adding kernel datapath meter support.
This implementation supports only drop band type.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/Makefile | 1 +
net/openvswitch/datapath.c
Later patches will invoke get_dp() outside of datapath.c. Export it.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/datapath.c | 29 -
net/openvswitch/datapath.h | 31 +++
2 files changed, 31 insertions(+), 29 del
Meter has its own netlink family. Define netlink messages and attributes
for communicating with the user space programs.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 51
1 file changed, 51 insertions(+)
diff
; references on 32 bit builds.
use div_u64() instead.
Andy Zhou (4):
openvswitch: Add meter netlink definitions
openvswitch: export get_dp() API.
openvswitch: Add meter infrastructure
openvswitch: Add meter action support
include/uapi/linux/openvswitch.h | 54
ne
Later patches will invoke get_dp() outside of datapath.c. Export it.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/datapath.c | 29 -
net/openvswitch/datapath.h | 31 +++
2 files changed, 31 insertions(+), 29 del
Meter has its own netlink family. Define netlink messages and attributes
for communicating with the user space programs.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 51
1 file changed, 51 insertions(+)
diff
nes
of code.
With those two observations, it seems cleaner to add meter
support in the openvswitch module directly.
---
v1(RFC)->v2: remove unused code improve locking
and other review comments
v2 -> v3: rebase
Andy Zhou (4):
openvswitch: Add meter netlink de
OVS kernel datapath so far does not support Openflow meter action.
This is the first stab at adding kernel datapath meter support.
This implementation supports only drop band type.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/Makefile | 1 +
net/openvswitch/datapath.c
Implements OVS kernel meter action support.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 3 +++
net/openvswitch/actions.c| 6 ++
net/openvswitch/datapath.h | 1 +
net/openvswitch/flow_netlink.c | 6 ++
4 files changed, 16 inse
On Thu, Nov 2, 2017 at 5:07 AM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Thu, Nov 2, 2017 at 3:07 AM, Andy Zhou <az...@ovn.org> wrote:
>> On Fri, Oct 20, 2017 at 8:32 PM, Pravin Shelar <pshe...@ovn.org> wrote:
>>> On Thu, Oct 19, 2017 at 5:58
On Fri, Oct 20, 2017 at 8:32 PM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Thu, Oct 19, 2017 at 5:58 PM, Andy Zhou <az...@ovn.org> wrote:
>>
>> On Thu, Oct 19, 2017 at 02:47 Pravin Shelar <pshe...@ovn.org> wrote:
>>>
>>> On Tue, Oct 17
On Mon, Oct 16, 2017 at 10:49 AM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Mon, Oct 16, 2017 at 12:05 AM, Andy Zhou <az...@ovn.org> wrote:
>> On Fri, Oct 13, 2017 at 5:12 PM, Pravin Shelar <pshe...@ovn.org> wrote:
>>> On Thu, Oct 12, 2017 at 3:38 PM, Andy
Implements OVS kernel meter action support.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 3 +++
net/openvswitch/actions.c| 6 ++
net/openvswitch/datapath.h | 1 +
net/openvswitch/flow_netlink.c | 6 ++
4 files changed, 16 inse
Later patches will invoke get_dp() outside of datapath.c. Export it.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/datapath.c | 29 -
net/openvswitch/datapath.h | 31 +++
2 files changed, 31 insertions(+), 29 del
Meter has its own netlink family. Define netlink messages and attributes
for communicating with the user space programs.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 51
1 file changed, 51 insertions(+)
diff
OVS kernel datapath so far does not support Openflow meter action.
This is the first stab at adding kernel datapath meter support.
This implementation supports only drop band type.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/Makefile | 1 +
net/openvswitch/datapath.c
nes
of code.
With those two observations, it seems cleaner to add meter
support in the openvswitch module directly.
---
v1(RFC)->v2: remove unused code
improve locking
and other review comments
Andy Zhou (4):
openvswitch: Add meter netlink defin
On Fri, Oct 13, 2017 at 5:13 PM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Thu, Oct 12, 2017 at 3:38 PM, Andy Zhou <az...@ovn.org> wrote:
>> Implements OVS kernel meter action support.
>>
>> Signed-off-by: Andy Zhou <az...@ovn.org>
>> ---
>&g
On Fri, Oct 13, 2017 at 5:12 PM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Thu, Oct 12, 2017 at 3:38 PM, Andy Zhou <az...@ovn.org> wrote:
>> OVS kernel datapath so far does not support Openflow meter action.
>> This is the first stab at adding ke
nes
of code.
With those two observations, it seems cleaner to add meter
support in the openvswitch module directly.
Andy Zhou (4):
openvswitch: Add meter netlink definitions
openvswitch: export get_dp() API.
openvswitch: Add meter infrastructure
openvswitch: Add meter action support
include/u
Later patches will invoke get_dp() outside of datapath.c. Export it.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/datapath.c | 29 -
net/openvswitch/datapath.h | 31 +++
2 files changed, 31 insertions(+), 29 del
OVS kernel datapath so far does not support Openflow meter action.
This is the first stab at adding kernel datapath meter support.
This implementation supports only drop band type.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/Makefile | 1 +
net/openvswitch/datapath.c
Meter has its own netlink family. Define netlink messages and attributes
for communicating with the user space programs.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 51
1 file changed, 51 insertions(+)
diff
Implements OVS kernel meter action support.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi/linux/openvswitch.h | 1 +
net/openvswitch/actions.c| 12
net/openvswitch/datapath.h | 1 +
net/openvswitch/flow_netlink.c | 6 ++
4 files chang
to pass in action lists that are not fully encoded
by themselves.
Signed-off-by: Andy Zhou <az...@ovn.org>
Acked-by: Joe Stringer <j...@ovn.org>
---
net/openvswitch/actions.c | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/net/openvswitch/act
nce patch 4.
Fix two bugs pointed out by Pravin,
Remove 'is_sample' variable.
v2->v3: Enhance patch 4, Rafctor to move more common logic to clone_execute().
v1->v2: Address Pravin's comment, Refactor recirc and sample
to share more common code
Andy Zhou (4):
op
Added clone_execute() that both the sample and the recirc
action implementation can use.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.c | 176 --
1 file changed, 93 insertions(+), 83 deletions(-)
diff --git a/net/openv
The logic of allocating and copy key for each 'exec_actions_level'
was specific to execute_recirc(). However, future patches will reuse
as well. Refactor the logic into its own function clone_key().
Signed-off-by: Andy Zhou <az...@ovn.org>
Acked-by: Pravin B Shelar <pshe...@ovn.org&
is performed only once at the flow downloading time.
Another related optimization is to rewrite the action list
at flow downloading time in order to save the fast path from parsing
the sample action list in its original form repeatedly.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi
On Sat, Mar 18, 2017 at 12:22 PM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Thu, Mar 16, 2017 at 3:48 PM, Andy Zhou <az...@ovn.org> wrote:
>> Added clone_execute() that both the sample and the recirc
>> action implementation can use.
>>
>> Signed-off-by: A
The logic of allocating and copy key for each 'exec_actions_level'
was specific to execute_recirc(). However, future patches will reuse
as well. Refactor the logic into its own function clone_key().
Signed-off-by: Andy Zhou <az...@ovn.org>
Acked-by: Pravin B Shelar <pshe...@ovn.org&
to pass in action lists that are not fully encoded
by themselves.
Signed-off-by: Andy Zhou <az...@ovn.org>
Acked-by: Joe Stringer <j...@ovn.org>
---
net/openvswitch/actions.c | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/net/openvswitch/act
ess pravin's comment, Refactor recirc and sample
to share more common code
v2->v3: Enhace patch 4, add more loigc to the common code
Andy Zhou (4):
openvswitch: Deferred fifo API change.
openvswitch: Refactor recirc key allocation.
openvswitch: Optimize sample action for the clo
is performed only once at the flow downloading time.
Another related optimization is to rewrite the action list
at flow downloading time in order to save the fast path from parsing
the sample action list in its original form repeatedly.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi
Added clone_execute() that both the sample and the recirc
action implementation can use.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.c | 175 --
1 file changed, 92 insertions(+), 83 deletions(-)
diff --git a/net/openv
On Thu, Mar 16, 2017 at 10:28 AM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Tue, Mar 14, 2017 at 4:08 PM, Andy Zhou <az...@ovn.org> wrote:
>> add_deferred_actions() API currently requires actions to be passed in
>> as a fully encoded netlink message. So far both 'samp
> Actions parameter which hints if it is recirc or sample. We can add
> recic-id param and set it if it is recic case.
> will this work?
>
Just posted v2. I added a patch in the end to implement this
refactoring as suggested.
The sample action can be used for translating Openflow 'clone' action.
However its implementation has not been sufficiently optimized for this
use case. This series attempts to close the gap.
Patch 3 commit message has more details on the specific optimizations
implemented.
Andy Zhou (4
is performed only once at the flow downloading time.
Another related optimization is to rewrite the action list
at flow downloading time in order to save the fast path from parsing
the sample action list in its original form repeatedly.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi
Added execute_or_defer_actions() that both sample and recirc
action's implementation can use.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.c | 96 +--
1 file changed, 59 insertions(+), 37 deletions(-)
diff --git
The logic of allocating and copy key for each 'exec_actions_level'
was specific to execute_recirc(). However, future patches will reuse
as well. Refactor the logic into its own function clone_key().
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.
to pass in action lists that are not fully encoded
by themselves.
Signed-off-by: Andy Zhou <az...@ovn.org>
Acked-by: Joe Stringer <j...@ovn.org>
---
net/openvswitch/actions.c | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/net/openvswitch/act
>>> - skb = skb_clone(skb, GFP_ATOMIC);
>>> - if (!skb)
>>> - /* Skip the sample action when out of memory. */
>>> - return 0;
>>> + if (key) {
>>> + err = do_execute_actions(dp, skb, key, actions, rem);
>>> + } else if
Thanks for the review. Please see comments inline.
On Mon, Mar 13, 2017 at 12:08 AM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Fri, Mar 10, 2017 at 4:51 PM, Andy Zhou <az...@ovn.org> wrote:
>> With the introduction of open flow 'clone' action, the OVS user space
>> c
The logic of allocating and copy key for each 'exec_actions_level'
was specific to execute_recirc(). However, future patches will reuse
as well. Refactor the logic into its own function clone_key().
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.
The sample action can be used for translating Openflow 'clone' action.
However its implementation has not been sufficiently optimized for this
use case. This series attempts to close the gap.
Patch 3 commit message has more details on the specific optimizations
implemented.
Andy Zhou (3
is performed only once at the flow downloading time.
Another related optimization is to rewrite the action list
at flow downloading time in order to save the fast path from parsing
the sample action list in its original form repeatedly.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/uapi
to pass in action lists that are not fully encoded
by themselves.
Signed-off-by: Andy Zhou <az...@ovn.org>
Acked-by: Joe Stringer <j...@ovn.org>
---
net/openvswitch/actions.c | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/net/openvswitch/act
On Thu, Mar 9, 2017 at 11:46 AM, Joe Stringer <j...@ovn.org> wrote:
> On 7 March 2017 at 16:15, Andy Zhou <az...@ovn.org> wrote:
>> With the introduction of open flow 'clone' action, the OVS user space
>> can now translate the 'clone' action into kernel datapath '
On Thu, Mar 9, 2017 at 11:11 AM, Joe Stringer <j...@ovn.org> wrote:
> On 7 March 2017 at 16:15, Andy Zhou <az...@ovn.org> wrote:
>> The logic of allocating and copy key for each 'exec_actions_level'
>> was specific to execute_recirc(). However, future patches will
only once at the flow downloading time.
The third optimization implemented is to rewrite the action list
at flow downloading time in order to save the fast path from parsing
the sample action list in its original form repeatedly.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openv
The logic of allocating and copy key for each 'exec_actions_level'
was specific to execute_recirc(). However, future patches will reuse
as well. Refactor the logic into its own function clone_key().
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.
The sample action can be used for translating Openflow 'clone' action.
However its implementation has not been sufficiently optimized for this
use case. This series attempts to close the gap.
Patch 3 commit message has more details on the specific optimizations
implemented.
Andy Zhou (3
to pass in action lists that are not fully encoded
by themselves.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.c | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
index c82301c..7
On Wed, Feb 1, 2017 at 6:30 PM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Tue, Jan 31, 2017 at 8:47 AM, Andy Zhou <az...@ovn.org> wrote:
>> Add 'clone' kernel datapath support. In case the actions within clone
>> do not modify the current flow, the actions are execut
current flow key, a key has to be copied. In case the percpu
'flow_keys' is available for the next 'exec_actions_level', the clone
actions will be executed without using the deferred fifo. Otherwise,
deferred fifo is used this clone action.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
includ
The logic of allocating and copy key for each 'exec_actions_level'
was specific to execute_recirc(). However, future patches will reuse
as well. Refactor the logic into its own function clone_key().
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.
to pass in action lists that are not fully encoded
by themselves.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.c | 18 +++---
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c
index efa9a88..6
Please discard this series. These are ovs user space changes, not
kernel changes. They are sent in error. Sorry.
On Mon, Jan 30, 2017 at 10:39 PM, Andy Zhou <az...@ovn.org> wrote:
> Currently, there is no way to specify the packet size when injecting
> a packet via "net
Please discard this series. These are ovs user space changes, not
kernel changes. They are sent in error. Sorry.
On Mon, Jan 30, 2017 at 10:39 PM, Andy Zhou <az...@ovn.org> wrote:
> Repost user space meter support. This is based Jarno's original work
> at: https://mail.openvswitch.o
From: Jarno Rajahalme <ja...@ovn.org>
Translate OpenFlow METER instructions to datapath meter actions.
Signed-off-by: Jarno Rajahalme <ja...@ovn.org>
Signed-off-by: Andy Zhou <az...@ovn.org>
---
include/openvswitch/ofp-actions.h | 1 +
lib/dpif.c
From: Jarno Rajahalme <ja...@ovn.org>
Add DPIF-level infrastructure for meters. Allow meter_set to modify
the meter configuration (e.g. set the burst size if unspecified).
Signed-off-by: Jarno Rajahalme <ja...@ovn.org>
Signed-off-by: Andy Zhou <az...@ovn.org>
---
datapath/li
first tried as a whole, and only if some of the
meter bands are hit, we need to process the packets individually.
Signed-off-by: Jarno Rajahalme <ja...@ovn.org>
Signed-off-by: Andy Zhou <az...@ovn.org>
---
lib/dpif-netdev.c| 362 ---
te
. Add macros
to support this use case.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
lib/dp-packet.h | 140 +++
lib/dpif-netdev.c| 62 +--
lib/dpif.c | 2 +-
lib/netdev-dummy.c
h.
Signed-off-by: Andy Zhou <az...@ovn.org>
---
lib/netdev-dummy.c | 38 --
1 file changed, 28 insertions(+), 10 deletions(-)
diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c
index e6e36cd..10df0a7 100644
--- a/lib/netdev-dummy.c
+++ b/lib/netdev-dumm
Repost user space meter support. This is based Jarno's original work
at: https://mail.openvswitch.org/pipermail/ovs-dev/2015-November/306304.html.
With some enhancements, and rebased to current master.
---
v1-v2: rebase and repost.
v2-v3: simplify patch 2/5.
Andy Zhou (2):
netdev-dummy: Add
do_execute_actions() implements a worthwhile optimization: in case
an output action is the last action in an action list, skb_clone()
can be avoided by outputing the current skb. However, the
implementation is more complicated than necessary. This patch
simplify this logic.
Signed-off-by: Andy
On Fri, Jan 27, 2017 at 12:42 PM, Pravin Shelar <pshe...@ovn.org> wrote:
> On Wed, Jan 25, 2017 at 9:24 PM, Andy Zhou <az...@ovn.org> wrote:
>> do_execute_actions() implements a worthwhile optimization: in case
>> an output action is the last action in an action list, sk
do_execute_actions() implements a worthwhile optimization: in case
an output action is the last action in an action list, skb_clone()
can be avoided by outputing the current skb. However, the
implementation is more complicated than necessary. This patch
simplify this logic.
Signed-off-by: Andy
ama...@linux.vnet.ibm.com>
Reported-at: http://openvswitch.org/pipermail/dev/2016-March/067672.html
Signed-off-by: Andy Zhou <az...@ovn.org>
---
net/openvswitch/actions.c | 45 -
1 file changed, 40 insertions(+), 5 deletions(-)
diff --git a/net/openvswitch/act
77 matches
Mail list logo