diff options
author | Andy Zhou <azhou@nicira.com> | 2013-06-19 07:15:10 +0000 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2013-06-20 10:33:51 -0700 |
commit | e6cc0babc25de1800aeffad66d2804e64e5bd602 (patch) | |
tree | 72cc541897276ff2d6a656c65156caf82a55677d /lib/dpif-provider.h | |
parent | a1c564be1e2ffc31f8da09ab654c8ed987907fe5 (diff) | |
download | openvswitch-e6cc0babc25de1800aeffad66d2804e64e5bd602.tar.gz |
ovs-dpctl: Add mega flow support
Added support to allow mega flow specified and displayed. ovs-dpctl tool
is mainly used as debugging tool.
This patch also implements the low level user space routines to send
and receive mega flow netlink messages. Those netlink suppor
routines are required for forthcoming user space mega flow patches.
Added a unit test to test parsing and display of mega flows.
Ethan contributed the ovs-dpctl mega flow output function.
Co-authored-by: Ethan Jackson <ethan@nicira.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
Signed-off-by: Andy Zhou <azhou@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'lib/dpif-provider.h')
-rw-r--r-- | lib/dpif-provider.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/lib/dpif-provider.h b/lib/dpif-provider.h index bea822f29..666c2244e 100644 --- a/lib/dpif-provider.h +++ b/lib/dpif-provider.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc. + * Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -279,12 +279,22 @@ struct dpif_class { * called again once it returns nonzero within a given iteration (but the * 'flow_dump_done' function will be called afterward). * - * On success, if 'key' and 'key_len' are nonnull then '*key' and - * '*key_len' must be set to Netlink attributes with types OVS_KEY_ATTR_* - * representing the dumped flow's key. If 'actions' and 'actions_len' are - * nonnull then they should be set to Netlink attributes with types - * OVS_ACTION_ATTR_* representing the dumped flow's actions. If 'stats' - * is nonnull then it should be set to the dumped flow's statistics. + * On success: + * + * - If 'key' and 'key_len' are nonnull, then '*key' and '*key_len' + * must be set to Netlink attributes with types OVS_KEY_ATTR_* + * representing the dumped flow's key. + * + * - If 'mask' and 'mask_len' are nonnull then '*mask' and '*mask_len' + * must be set to Netlink attributes with types of OVS_KEY_ATTR_* + * representing the dumped flow's mask. + * + * - If 'actions' and 'actions_len' are nonnull then they should be set + * to Netlink attributes with types OVS_ACTION_ATTR_* representing + * the dumped flow's actions. + * + * - If 'stats' is nonnull then it should be set to the dumped flow's + * statistics. * * All of the returned data is owned by 'dpif', not by the caller, and the * caller must not modify or free it. 'dpif' must guarantee that it @@ -292,6 +302,7 @@ struct dpif_class { * 'flow_dump_next' or 'flow_dump_done' for 'state'. */ int (*flow_dump_next)(const struct dpif *dpif, void *state, const struct nlattr **key, size_t *key_len, + const struct nlattr **mask, size_t *mask_len, const struct nlattr **actions, size_t *actions_len, const struct dpif_flow_stats **stats); |