diff options
author | Justin Pettit <jpettit@nicira.com> | 2011-12-23 12:23:24 -0800 |
---|---|---|
committer | Justin Pettit <jpettit@nicira.com> | 2011-12-27 21:09:51 -0800 |
commit | e729e7935e5c77eae1ca4a8040d05626f61cf9a2 (patch) | |
tree | 81813662f43568df2cc90f16eb02233b999a2e6e /include | |
parent | a8600e1a65b10c7e6b8ca94d18482f50ba27a873 (diff) |
Add ability to restrict flow mods and flow stats requests to cookies.
With this commit, it is possible to limit flow deletions and
modifications to specific cookies. It also provides the ability to
dump flows based on their cookies.
Signed-off-by: Justin Pettit <jpettit@nicira.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/openflow/nicira-ext.h | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h index f449329f..1dcd32b5 100644 --- a/include/openflow/nicira-ext.h +++ b/include/openflow/nicira-ext.h @@ -1641,6 +1641,22 @@ OFP_ASSERT(sizeof(struct nx_action_output_reg) == 24); * Masking: Not maskable. */ #define NXM_NX_IP_TTL NXM_HEADER (0x0001, 29, 1) +/* Flow cookie. + * + * This may be used to gain the OpenFlow 1.1-like ability to restrict + * certain NXM-based Flow Mod and Flow Stats Request messages to flows + * with specific cookies. See the "nx_flow_mod" and "nx_flow_stats_request" + * structure definitions for more details. This match is otherwise not + * allowed. + * + * Prereqs: None. + * + * Format: 64-bit integer in network byte order. + * + * Masking: Arbitrary masks. */ +#define NXM_NX_COOKIE NXM_HEADER (0x0001, 30, 8) +#define NXM_NX_COOKIE_W NXM_HEADER_W(0x0001, 30, 8) + /* ## --------------------- ## */ /* ## Requests and replies. ## */ /* ## --------------------- ## */ @@ -1659,7 +1675,14 @@ struct nxt_set_flow_format { }; OFP_ASSERT(sizeof(struct nxt_set_flow_format) == 20); -/* NXT_FLOW_MOD (analogous to OFPT_FLOW_MOD). */ +/* NXT_FLOW_MOD (analogous to OFPT_FLOW_MOD). + * + * It is possible to limit flow deletions and modifications to certain + * cookies by using the NXM_NX_COOKIE and NXM_NX_COOKIE_W matches. For + * these commands, the "cookie" field is always ignored. Flow additions + * make use of the "cookie" field and ignore any NXM_NX_COOKIE* + * definitions. + */ struct nx_flow_mod { struct nicira_header nxh; ovs_be64 cookie; /* Opaque controller-issued identifier. */ @@ -1708,7 +1731,11 @@ struct nx_flow_removed { OFP_ASSERT(sizeof(struct nx_flow_removed) == 56); /* Nicira vendor stats request of type NXST_FLOW (analogous to OFPST_FLOW - * request). */ + * request). + * + * It is possible to limit matches to certain cookies by using the + * NXM_NX_COOKIE and NXM_NX_COOKIE_W matches. + */ struct nx_flow_stats_request { struct nicira_stats_msg nsm; ovs_be16 out_port; /* Require matching entries to include this |