On 23 October 2014 11:21, Joe Stringer <[email protected]> wrote:
> Hi Jarno, > > On 7 October 2014 14:43, Jarno Rajahalme <[email protected]> wrote: > >> flow inserts and removals are simplified: >> >> - No need for classifier internal mutex, as dpif-netdev already has a >> 'flow_mutex'. >> - Number of memory allocations/frees can be halved. >> >> Lookup code path is a bit more effcient as well, as we can rely on >> netdev_flow_key always having inline data. >> >> This will also be easier to simplify further when moving to per-thread >> megaflow classifiers in the future. >> >> Signed-off-by: Jarno Rajahalme <[email protected]> >> --- >> v2: Reverted using netdev_flow_key as the flow_table key, since that will >> become obsolete as soon as flow ID patches are merged in. >> We still need a netdev_flow_key for the lookup in flow put, but now we >> use the slower method of composing a packet from a flow, and >> extracting >> the miniflow from this 'packet'. This does not matter, since the flow >> put interface is no longer used for upcalls (but probes may still use >> it). >> >> lib/classifier.c | 109 ---------- >> lib/classifier.h | 5 - >> lib/dpif-netdev.c | 619 >> ++++++++++++++++++++++++++++++++++++++++++----------- >> lib/flow.c | 61 ++++++ >> lib/flow.h | 3 +- >> 5 files changed, 555 insertions(+), 242 deletions(-) >> >> <snip> >> > > >> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c >> index a1db620..36fd238 100644 >> --- a/lib/dpif-netdev.c >> +++ b/lib/dpif-netdev.c >> <snip> >> > > >> @@ -1628,18 +1774,22 @@ dpif_netdev_flow_put(struct dpif *dpif, const >> struct dpif_flow_put *put) >> if (put->stats) { >> memset(put->stats, 0, sizeof *put->stats); >> } >> - error = dp_netdev_flow_add(dp, &match, put->actions, >> - put->actions_len); >> + dp_netdev_flow_add(dp, &match, put->actions, >> put->actions_len); >> + error = 0; >> } else { >> error = EFBIG; >> } > > > Was there a particular reason for modifying this to ignore errors in > dp_netdev_flow_add()? > Woops, I missed the change in function signature. Please disregard. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
