> >> Did you consider keeping a separate dpcls instance per input port instead?
> >> I.e., have an hmap of dpcls'es using the in_port as the hash key, and
> >> creating and destroying them on demand. This would avoid the fixed
> >> size array, simplify the code and each insert and remove operation
> On Jun 23, 2016, at 2:51 AM, Jan Scheurich wrote:
>
>> This no longer applies cleanly, and I also needed to add this incremental to
>> make the testsuite pass:
>
> I will rebase and adapt the tests as suggested in the next version.
>
>> Did you consider keeping a
> This no longer applies cleanly, and I also needed to add this incremental to
> make the testsuite pass:
I will rebase and adapt the tests as suggested in the next version.
> Did you consider keeping a separate dpcls instance per input port instead?
> I.e., have an hmap of dpcls'es using the
>-Original Message-
>From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Jan
>Scheurich
>Sent: Thursday, June 16, 2016 2:56 PM
>To: dev@openvswitch.org
>Subject: [ovs-dev] [RFC Patch] dpif-netdev: Sorted subtable vectors per
>in_port in dpcls
>
>The user-
Thanks for doing this! Some suggestions below.
This no longer applies cleanly, and I also needed to add this incremental to
make the testsuite pass:
diff --git a/tests/pmd.at b/tests/pmd.at
index 3d219ff..9b6427e 100644
--- a/tests/pmd.at
+++ b/tests/pmd.at
@@ -144,10 +144,11 @@
> -Original Message-
> From: Jan Scheurich [mailto:jan.scheur...@ericsson.com]
> Sent: Tuesday, June 21, 2016 10:27 AM
> To: Fischetti, Antonio ;
> dev@openvswitch.org
> Subject: RE: [RFC Patch] dpif-netdev: Sorted subtable vectors per
> in_port in dpcls
>
>
> [Antonio F]
> What if the range of the hash values is partitioned per port type?
> I mean if the 1st range - say the first 10 values - are reserved for dpdk
> ports
>
> if // range is [0..9]
> uint32_t port_idx = 0 + hash_port_no(port_no) % 10;
> else// range is
Subject: [ovs-dev] [RFC Patch] dpif-netdev: Sorted subtable vectors
> per in_port in dpcls
>
> The user-space datapath (dpif-netdev) consists of a first level
> "exact match cache" (EMC) matching on 5-tuples and the normal
> megaflow classifier. With many parallel packet flo
The user-space datapath (dpif-netdev) consists of a first level "exact match
cache" (EMC) matching on 5-tuples and the normal megaflow classifier. With many
parallel packet flows (e.g. TCP connections) the EMC becomes inefficient and
the OVS forwarding performance is determined by the megaflow