On Fri, Nov 08, 2013 at 10:54:35AM -0800, Jarno Rajahalme wrote: > This is how the users already use the interface, and this allows > less copying at the userspace datapath. > > Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>
Acked-by: Ben Pfaff <b...@nicira.com> Because of the exact semantic of 'const' in C, I think you can retain some of the 'const's that you dropped, e.g. fold in this incremental: diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index bfea02d..42958d3 100644 --- a/lib/dpif-linux.c +++ b/lib/dpif-linux.c @@ -1086,7 +1086,7 @@ dpif_linux_execute__(int dp_ifindex, const struct dpif_execute *execute) } static int -dpif_linux_execute(struct dpif *dpif_, struct dpif_execute *execute) +dpif_linux_execute(struct dpif *dpif_, const struct dpif_execute *execute) { const struct dpif_linux *dpif = dpif_linux_cast(dpif_); diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 9e1ade5..5246ec6 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -1027,7 +1027,7 @@ dpif_netdev_flow_dump_done(const struct dpif *dpif OVS_UNUSED, void *state_) } static int -dpif_netdev_execute(struct dpif *dpif, struct dpif_execute *execute) +dpif_netdev_execute(struct dpif *dpif, const struct dpif_execute *execute) { struct dp_netdev *dp = get_dp_netdev(dpif); struct flow md; diff --git a/lib/dpif-provider.h b/lib/dpif-provider.h index c5f8b04..1afac99 100644 --- a/lib/dpif-provider.h +++ b/lib/dpif-provider.h @@ -316,7 +316,7 @@ struct dpif_class { * 'execute->key'. ('execute->key' is mostly redundant with * 'execute->packet', but it contains some metadata that cannot be * recovered from 'execute->packet', such as tunnel and in_port.) */ - int (*execute)(struct dpif *dpif, struct dpif_execute *execute); + int (*execute)(struct dpif *dpif, const struct dpif_execute *execute); /* Executes each of the 'n_ops' operations in 'ops' on 'dpif', in the order * in which they are specified, placing each operation's results in the diff --git a/lib/dpif.c b/lib/dpif.c index dd77ebf..7a88bb9 100644 --- a/lib/dpif.c +++ b/lib/dpif.c @@ -1116,7 +1116,7 @@ dpif_execute_helper_userspace_cb(void *aux, struct ofpbuf *packet, * * This helps with actions that a given 'dpif' doesn't implement directly. */ static int -dpif_execute_with_help(struct dpif *dpif, struct dpif_execute *execute) +dpif_execute_with_help(struct dpif *dpif, const struct dpif_execute *execute) { struct dpif_execute_helper_aux aux; enum odp_key_fitness fit; @@ -1144,7 +1144,7 @@ dpif_execute_with_help(struct dpif *dpif, struct dpif_execute *execute) } static int -dpif_execute__(struct dpif *dpif, struct dpif_execute *execute) +dpif_execute__(struct dpif *dpif, const struct dpif_execute *execute) { int error; _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev