[ovs-dev] [branch-2.1 1/2] upcall: Add appctl call to set flow_limit.
Alex Wang
alexw at nicira.com
Mon Jun 23 03:25:35 UTC 2014
I'll mention it in the commit message, thx for the review.
Applied both to branch-2.1
Alex Wang,
On Fri, Jun 20, 2014 at 7:47 PM, Joe Stringer <joestringer at nicira.com>
wrote:
> I assume these two backported cleanly? Looks good, not sure if you want to
> mention that it's a backport in the commit message.
>
> Acked-by: Joe Stringer <joestringer at nicira.com>
>
>
> On 20 June 2014 16:23, Alex Wang <alexw at nicira.com> wrote:
>
>> From: Joe Stringer <joestringer at nicira.com>
>>
>> This should assist testing of datapath performance, as it allows us to
>> skip "warming up" the flow limit value.
>>
>> Signed-off-by: Joe Stringer <joestringer at nicira.com>
>> Signed-off-by: Ben Pfaff <blp at nicira.com>
>> ---
>> ofproto/ofproto-dpif-upcall.c | 26 ++++++++++++++++++++++++++
>> 1 file changed, 26 insertions(+)
>>
>> diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c
>> index 33033a4..15be818 100644
>> --- a/ofproto/ofproto-dpif-upcall.c
>> +++ b/ofproto/ofproto-dpif-upcall.c
>> @@ -239,6 +239,8 @@ static void upcall_unixctl_disable_megaflows(struct
>> unixctl_conn *, int argc,
>> const char *argv[], void
>> *aux);
>> static void upcall_unixctl_enable_megaflows(struct unixctl_conn *, int
>> argc,
>> const char *argv[], void
>> *aux);
>> +static void upcall_unixctl_set_flow_limit(struct unixctl_conn *conn, int
>> argc,
>> + const char *argv[], void
>> *aux);
>> static void ukey_delete(struct revalidator *, struct udpif_key *);
>>
>> static atomic_bool enable_megaflows = ATOMIC_VAR_INIT(true);
>> @@ -256,6 +258,8 @@ udpif_create(struct dpif_backer *backer, struct dpif
>> *dpif)
>> upcall_unixctl_disable_megaflows, NULL);
>> unixctl_command_register("upcall/enable-megaflows", "", 0, 0,
>> upcall_unixctl_enable_megaflows, NULL);
>> + unixctl_command_register("upcall/set-flow-limit", "", 1, 1,
>> + upcall_unixctl_set_flow_limit, NULL);
>> ovsthread_once_done(&once);
>> }
>>
>> @@ -1688,3 +1692,25 @@ upcall_unixctl_enable_megaflows(struct
>> unixctl_conn *conn,
>> udpif_flush();
>> unixctl_command_reply(conn, "megaflows enabled");
>> }
>> +
>> +/* Set the flow limit.
>> + *
>> + * This command is only needed for advanced debugging, so it's not
>> + * documented in the man page. */
>> +static void
>> +upcall_unixctl_set_flow_limit(struct unixctl_conn *conn,
>> + int argc OVS_UNUSED,
>> + const char *argv[] OVS_UNUSED,
>> + void *aux OVS_UNUSED)
>> +{
>> + struct ds ds = DS_EMPTY_INITIALIZER;
>> + struct udpif *udpif;
>> + unsigned int flow_limit = atoi(argv[1]);
>> +
>> + LIST_FOR_EACH (udpif, list_node, &all_udpifs) {
>> + atomic_store(&udpif->flow_limit, flow_limit);
>> + }
>> + ds_put_format(&ds, "set flow_limit to %u\n", flow_limit);
>> + unixctl_command_reply(conn, ds_cstr(&ds));
>> + ds_destroy(&ds);
>> +}
>> --
>> 1.7.9.5
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20140622/643df9c5/attachment-0005.html>
More information about the dev
mailing list