[ovs-dev] [PATCHv2] dpif: Support flow_get in dpif_operate().
Ben Pfaff
blp at nicira.com
Wed Aug 13 21:44:21 UTC 2014
Great, thanks.
On Thu, Aug 14, 2014 at 09:43:27AM +1200, Joe Stringer wrote:
> Thanks for the review, I plan to push with the following changes (I noticed
> that the other dpif-linux operations - PUT,DEL have redundant memsets, so
> deleting them too):
>
> diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c
> index e767d9f..c4420f4 100644
> --- a/lib/dpif-linux.c
> +++ b/lib/dpif-linux.c
> @@ -1402,10 +1402,6 @@ dpif_linux_operate__(struct dpif_linux *dpif,
> dpif_linux_flow_get_stats(&reply, put->stats);
> }
> }
> -
> - if (op->error) {
> - memset(put->stats, 0, sizeof *put->stats);
> - }
> }
> break;
>
> @@ -1421,10 +1417,6 @@ dpif_linux_operate__(struct dpif_linux *dpif,
> dpif_linux_flow_get_stats(&reply, del->stats);
> }
> }
> -
> - if (op->error) {
> - memset(del->stats, 0, sizeof *del->stats);
> - }
> }
> break;
>
> @@ -1441,10 +1433,6 @@ dpif_linux_operate__(struct dpif_linux *dpif,
> dpif_linux_flow_to_dpif_flow(get->flow, &reply);
> }
> }
> -
> - if (op->error) {
> - memset(get->flow, 0, sizeof *get->flow);
> - }
> break;
>
> default:
> diff --git a/lib/dpif.c b/lib/dpif.c
> index 8ba889f..13a73e6 100644
> --- a/lib/dpif.c
> +++ b/lib/dpif.c
> @@ -1152,6 +1152,10 @@ dpif_operate(struct dpif *dpif, struct dpif_op
> **ops, size_t n_ops)
>
> COVERAGE_INC(dpif_flow_get);
> log_flow_get_message(dpif, get, error);
> +
> + if (error) {
> + memset(get->flow, 0, sizeof *get->flow);
> + }
> break;
> }
>
> diff --git a/lib/dpif.h b/lib/dpif.h
> index 4a21a59..a310d7d 100644
> --- a/lib/dpif.h
> +++ b/lib/dpif.h
> @@ -671,7 +671,7 @@ struct dpif_execute {
> *
> * The flow is specified by the Netlink attributes with types
> OVS_KEY_ATTR_* in
> * the 'key_len' bytes starting at 'key'. 'buffer' must point to an
> initialized
> - * buffer of size DPIF_FLOW_BUFSIZE bytes.
> + * buffer, with a recommended size of DPIF_FLOW_BUFSIZE bytes.
> *
> * On success, 'flow' will be populated with the mask, actions and stats
> for
> * the datapath flow corresponding to 'key'. The mask and actions may point
More information about the dev
mailing list