Re: [ovs-dev] [PATCH ovn v1 1/2] tests: Updated expected log message

2019-12-08 Thread Dumitru Ceara
On Sun, Dec 8, 2019 at 5:18 AM Russell Bryant wrote: > > A previous commit added more detail to this log message. Fix the test > to reflect the new text. > > Signed-off-by: Russell Bryant Hi Russell, Thanks for fixing the failing test case. Acked-by: Dumitru Ceara > --- > tests/ovn.at |

Re: [ovs-dev] [PATCH V3 08/19] netdev-offload-dpdk: Protect UFID map by mutex

2019-12-08 Thread Eli Britstein
On 12/9/2019 9:15 AM, 贺鹏 wrote: > Hi, > > > cmap support multiple readers and one writer. > since all write operations are performed in the offload thread, > why need a mutex here? Maybe I miss some patches. Collecting statistics using netdev_flow_get in patch 10/20 is another thread. There, it

Re: [ovs-dev] [PATCH V3 08/19] netdev-offload-dpdk: Protect UFID map by mutex

2019-12-08 Thread 贺鹏
Hi, cmap support multiple readers and one writer. since all write operations are performed in the offload thread, why need a mutex here? Maybe I miss some patches. Eli Britstein 于2019年12月8日周日 下午9:23写道: > > Flow deletion and dumping for statistics collection are called from > different

[ovs-dev] [PATCH 3/3] checkpatch: Check spelling in commit messages.

2019-12-08 Thread Ilya Maximets
This seems useful as I'm usually making a lot of typing mistakes. Also, few commonly used words added to the extended dictionary. Signed-off-by: Ilya Maximets --- utilities/checkpatch.py | 33 ++--- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git

[ovs-dev] [PATCH 2/3] checkpatch: Skip words containing numbers.

2019-12-08 Thread Ilya Maximets
Words like 'br0' are common and usually references some code or database objects that should not be targets for spell checking. So, it's better to skip all the words that has digits inside instead of ones that starts with numbers. Signed-off-by: Ilya Maximets --- utilities/checkpatch.py | 4

[ovs-dev] [PATCH 1/3] checkpatch: Allow common abbreviations for spell checking.

2019-12-08 Thread Ilya Maximets
Abbreviations of Latin expressions like 'i.e.' or 'e.g.' are common and known by the dictionary. However, our spell checker is not able to recognize them because it strips dots out of them. To avoid this issue we could pass non-stripped version of the word to the dictionary checker too.

[ovs-dev] [PATCH 0/3] checkpatch: Spell checker enhancements.

2019-12-08 Thread Ilya Maximets
Ilya Maximets (3): checkpatch: Allow common abbreviations for spell checking. checkpatch: Skip words containing numbers. checkpatch: Check spelling in commit messages. utilities/checkpatch.py | 41 +++-- 1 file changed, 27 insertions(+), 14 deletions(-)

[ovs-dev] [PATCH 0/2] Get rid of broken dpif pointer in dp_netdev structure.

2019-12-08 Thread Ilya Maximets
Ilya Maximets (2): dpif: Turn dpif_flow_hash function into generic odp_flow_key_hash. dpif-netdev: Get rid of broken dpif pointer in dp_netdev structure. lib/dpif-netdev.c | 12 +--- lib/dpif-netlink.c | 27 --- lib/dpif.c | 16

[ovs-dev] [PATCH 2/2] dpif-netdev: Get rid of broken dpif pointer in dp_netdev structure.

2019-12-08 Thread Ilya Maximets
This pointer was introduced in July 2014 by commit 6b31e07347ad ("dpif-netdev: Polling threads directly call ofproto upcall functions.") and it was broken right from this point because dpif_netdev_open() updates it on each call with the pointer to a newly allocated 'dpif' structure that becomes

[ovs-dev] [PATCH 1/2] dpif: Turn dpif_flow_hash function into generic odp_flow_key_hash.

2019-12-08 Thread Ilya Maximets
Current implementation of dpif_flow_hash() doesn't depend on datapath interface and only complicates the callers by forcing them to figure out what is their current 'dpif'. If we'll need different hashing for different 'dpif's we'll implement an API for dpif-providers and each dpif implementation

Re: [ovs-dev] [PATCH v1] dpif-netdev: Retrieve dpif_class from struct dp_netdev

2019-12-08 Thread Ilya Maximets
On 08.12.2019 15:42, Ilya Maximets wrote: > On 08.12.2019 15:29, Ophir Munk wrote: >> In case a pmd pointer (struct dp_netdev_pmd_thread *) needs to retrieve >> the dpif_class it points at - it can access it as: pmd->dp->class. A >> second option is to access it as: pmd->dp->dpif->dpif_class.

Re: [ovs-dev] [RFC v3 0/4] netdev-offload: Prerequisites of vport offloading via DPDK.

2019-12-08 Thread Ophir Munk
Hi Ilya, I think the root cause for the issues mentioned below is the usage of pmd->dp->dpif->dpif_class rather than pmd->dp->class. Please see a fixing patch https://patchwork.ozlabs.org/patch/1205684/ ("dpif-netdev: Retrieve dpif_class from struct dp_netdev "). When running dpctl statistics

Re: [ovs-dev] [PATCH v1] dpif-netdev: Retrieve dpif_class from struct dp_netdev

2019-12-08 Thread Ilya Maximets
On 08.12.2019 15:29, Ophir Munk wrote: > In case a pmd pointer (struct dp_netdev_pmd_thread *) needs to retrieve > the dpif_class it points at - it can access it as: pmd->dp->class. A > second option is to access it as: pmd->dp->dpif->dpif_class. The first > option is safe since there is one dp

[ovs-dev] [PATCH v1] dpif-netdev: Retrieve dpif_class from struct dp_netdev

2019-12-08 Thread Ophir Munk
In case a pmd pointer (struct dp_netdev_pmd_thread *) needs to retrieve the dpif_class it points at - it can access it as: pmd->dp->class. A second option is to access it as: pmd->dp->dpif->dpif_class. The first option is safe since there is one dp netdev with a constant pointer to the dpif

Re: [ovs-dev] [PATCH V3 10/19] dpif-netdev: Read hw stats during flow_dump_next() call

2019-12-08 Thread 0-day Robot
Bleep bloop. Greetings Eli Britstein, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: WARNING: Line is 81 characters long (recommended limit is 79) #88 FILE:

Re: [ovs-dev] [PATCH V3 06/19] netdev-offload-dpdk: Framework for actions offload

2019-12-08 Thread 0-day Robot
Bleep bloop. Greetings Eli Britstein, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: WARNING: Line is 80 characters long (recommended limit is 79) #159 FILE:

[ovs-dev] [PATCH V3 04/19] netdev-offload-dpdk: Fix typo

2019-12-08 Thread Eli Britstein
Fixes: e8a2b5bf92bb ("netdev-dpdk: implement flow offload with rte flow") Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- lib/netdev-offload-dpdk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index

[ovs-dev] [PATCH V3 16/19] netdev-offload-dpdk: Support offload of set MAC actions

2019-12-08 Thread Eli Britstein
Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- Documentation/howto/dpdk.rst | 1 + NEWS | 3 +- lib/netdev-dpdk.c| 15 ++ lib/netdev-offload-dpdk.c| 107 +++ 4 files changed, 125 insertions(+), 1

[ovs-dev] [PATCH V3 15/19] netdev-offload-dpdk: Support offload of drop action

2019-12-08 Thread Eli Britstein
Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- Documentation/howto/dpdk.rst | 1 + NEWS | 2 +- lib/netdev-dpdk.c| 2 ++ lib/netdev-offload-dpdk.c| 4 +--- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git

[ovs-dev] [PATCH V3 10/19] dpif-netdev: Read hw stats during flow_dump_next() call

2019-12-08 Thread Eli Britstein
From: Ophir Munk Use netdev flow get API in order to update the statistics of fully offloaded flows. Co-authored-by: Eli Britstein Signed-off-by: Ophir Munk Reviewed-by: Oz Shlomo Signed-off-by: Eli Britstein --- lib/dpif-netdev.c | 47 +-- 1

[ovs-dev] [PATCH V3 18/19] netdev-offload-dpdk: Support offload of clone tnl_push/output actions

2019-12-08 Thread Eli Britstein
Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- Documentation/howto/dpdk.rst | 2 ++ NEWS | 4 ++-- lib/netdev-dpdk.c| 14 + lib/netdev-offload-dpdk.c| 48 4 files changed, 66

[ovs-dev] [PATCH V3 09/19] netdev-offload-dpdk: Implement flow get method

2019-12-08 Thread Eli Britstein
Implement the flow get method for DPDK, to get the statistics of the provided ufid, towards reading statistics of fully offloaded flows. Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- lib/netdev-offload-dpdk.c | 40 1 file changed, 40

[ovs-dev] [PATCH V3 07/19] netdev-dpdk: Introduce rte flow query function

2019-12-08 Thread Eli Britstein
Introduce a rte flow query function as a pre-step towards reading HW statistics of fully offloaded flows. Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- lib/netdev-dpdk.c | 25 + lib/netdev-dpdk.h | 6 ++ 2 files changed, 31 insertions(+) diff --git

[ovs-dev] [PATCH V3 08/19] netdev-offload-dpdk: Protect UFID map by mutex

2019-12-08 Thread Eli Britstein
Flow deletion and dumping for statistics collection are called from different threads. As a pre-step towards collecting HW statistics, protect the UFID map by mutex to make it thread safe. Signed-off-by: Eli Britstein --- lib/netdev-offload-dpdk.c | 7 ++- 1 file changed, 6 insertions(+), 1

[ovs-dev] [PATCH V3 13/19] netdev-offload: Introduce a function to validate same flow api handle

2019-12-08 Thread Eli Britstein
Signed-off-by: Eli Britstein --- lib/netdev-offload-provider.h | 1 + lib/netdev-offload.c | 12 2 files changed, 13 insertions(+) diff --git a/lib/netdev-offload-provider.h b/lib/netdev-offload-provider.h index 4e1c4251d..5a809c0cd 100644 ---

[ovs-dev] [PATCH V3 05/19] netdev-dpdk: Improve HW offload flow debuggability

2019-12-08 Thread Eli Britstein
Add debug prints when creating and destroying rte flows, with all the flow details (attributes, patterns, actions). Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- lib/netdev-dpdk.c | 260 ++ lib/netdev-offload-dpdk.c | 207

[ovs-dev] [PATCH V3 14/19] netdev-offload-dpdk: Support offload of output action

2019-12-08 Thread Eli Britstein
Support offload of output action, also configuring count action for allowing query statistics of HW offloaded flows. Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- Documentation/howto/dpdk.rst | 17 --- NEWS | 1 + lib/netdev-dpdk.c| 22

[ovs-dev] [PATCH V3 17/19] netdev-offload-dpdk: Support offload of set IPv4 actions

2019-12-08 Thread Eli Britstein
Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- Documentation/howto/dpdk.rst | 1 + NEWS | 4 ++-- lib/netdev-dpdk.c| 24 lib/netdev-offload-dpdk.c| 26 ++ 4 files changed, 53 insertions(+), 2

[ovs-dev] [PATCH V3 01/19] netdev-offload-dpdk: Refactor flow patterns

2019-12-08 Thread Eli Britstein
Refactor the flow patterns code to a helper function for better readability and towards supporting more matches. Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- lib/netdev-offload-dpdk.c | 208 +- 1 file changed, 112 insertions(+), 96

[ovs-dev] [PATCH V3 06/19] netdev-offload-dpdk: Framework for actions offload

2019-12-08 Thread Eli Britstein
Currently HW offload is accelerating only the rule matching sequence. Introduce a framework for offloading rule actions as a pre-step for processing the rule actions in HW. In case of a failure, fallback to the legacy partial offload scheme. Note: a flow will be fully offloaded only if it can

[ovs-dev] [PATCH V3 03/19] netdev-offload-dpdk: Dynamically allocate pattern items

2019-12-08 Thread Eli Britstein
Instead of statically allocated pattern items on the stack, dynamically allocate only the required items while parsing the matches, to simplify the parsing and make it self-contained, without need of external types, making it easier to support more matches in the future. Signed-off-by: Eli

[ovs-dev] [PATCH V3 19/19] netdev-offload-dpdk: Support offload of set TCP/UDP ports actions

2019-12-08 Thread Eli Britstein
Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- Documentation/howto/dpdk.rst | 1 + NEWS | 4 ++-- lib/netdev-dpdk.c| 14 ++ lib/netdev-offload-dpdk.c| 34 ++ 4 files changed, 51 insertions(+), 2

[ovs-dev] [PATCH V3 11/19] dpif-netdev: Populate dpif class field in offload struct

2019-12-08 Thread Eli Britstein
Populate dpif class field in offload struct to be used in offloading flow put. Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- lib/dpif-netdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 37e7e5c38..1d1de94de 100644 ---

[ovs-dev] [PATCH V3 00/19] netdev datapath actions offload

2019-12-08 Thread Eli Britstein
Currently, netdev datapath offload only accelerates the flow match sequence by associating a mark per flow. This series introduces the full offload of netdev datapath flows by having the HW also perform the flow actions. This series adds HW offload for output, drop, set MAC, set IPv4, set TCP/UDP

[ovs-dev] [PATCH V3 02/19] netdev-offload-dpdk: Refactor action items freeing scheme

2019-12-08 Thread Eli Britstein
Action item data structures are pointed by rte_flow_action items. Refactor the code to free the data structures when freeing the rte_flow_action items, allowing simpler future actions simpler to add to the code. Signed-off-by: Eli Britstein --- lib/netdev-offload-dpdk.c | 92

[ovs-dev] [PATCH V3 12/19] netdev-dpdk: Getter function for dpdk port id API

2019-12-08 Thread Eli Britstein
Add a getter function for using the dpdk port id outside the scope of netdev-dpdk.c to be used for HW offload. Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo --- lib/netdev-dpdk.c | 18 ++ lib/netdev-dpdk.h | 2 ++ 2 files changed, 20 insertions(+) diff --git

Re: [ovs-dev] [PATCH ovn] ovn-controller: Run I-P engine even when no SB txn is available.

2019-12-08 Thread Dumitru Ceara
On Sat, Dec 7, 2019 at 4:53 PM Han Zhou wrote: > > > > On Sat, Dec 7, 2019 at 3:21 AM Dumitru Ceara wrote: > > > > On Sat, Dec 7, 2019 at 1:36 AM Han Zhou wrote: > > > > > > Thanks Dumitru for the patch. Please see my comments below. > > > > > > > Hi Han, > > > > Thanks for the review. > > > >

Re: [ovs-dev] [RFC v3 0/4] netdev-offload: Prerequisites of vport offloading via DPDK.

2019-12-08 Thread Eli Britstein
On 12/6/2019 4:34 PM, Ilya Maximets wrote: > On 06.12.2019 14:09, Ophir Munk wrote: >> Hi Ilya, >> I applied this series on master ("dpdk: Update to use DPDK 19.11.") and >> PINGed between two "dpdk" ports (hw-offload=true). >> It worked fine. >> Then I watched flow statistics (dpif based) by

[ovs-dev] [ovs-dev, v2] datapath-windows: Don't delete internal port

2019-12-08 Thread Jinjun Gao via dev
According to the microsoft doc: https://docs.microsoft.com/en-us/windows-hardware/drivers/network/hyper-v-extensible-switch-port-and-network-adapter-states Below OID request sequence is validation: OID_SWITCH_NIC_CONNECT -> OID_SWITCH_NIC_DISCONNECT ^

Re: [ovs-dev] [PATCH 15/20] netdev-offload-dpdk-flow: Support offload of output action

2019-12-08 Thread Eli Britstein
On 12/5/2019 6:46 PM, Sriharsha Basavapatna wrote: > On Wed, Dec 4, 2019 at 8:55 PM Eli Britstein wrote: >> >> On 12/3/2019 5:19 PM, Sriharsha Basavapatna wrote: >>> On Wed, Nov 20, 2019 at 9:07 PM Eli Britstein wrote: Signed-off-by: Eli Britstein Reviewed-by: Oz Shlomo ---

Re: [ovs-dev] [PATCHv4] userspace: Add GTP-U support.

2019-12-08 Thread Roni Bar Yanai
Hi William, GTP-U header size is not constant, you *must* take into account the flags, mainly the sequence. The use of sequence in GTP-U is optional but some devices do use it. see from 3GPP definition: "For PGW, SGW and eNodeB the usage of sequence numbers in G-PDUs is optional, but if