ofproto-dpif: Clean up and centralize sFlow logic.
[sliver-openvswitch.git] / lib / odp-util.h
index a6f8a30..cdafbe4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, 2011 Nicira Networks.
+ * Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -114,6 +114,7 @@ enum odp_key_fitness {
 };
 enum odp_key_fitness odp_flow_key_to_flow(const struct nlattr *, size_t,
                                           struct flow *);
+const char *odp_key_fitness_to_string(enum odp_key_fitness);
 
 enum user_action_cookie_type {
     USER_ACTION_COOKIE_UNSPEC,
@@ -121,13 +122,13 @@ enum user_action_cookie_type {
 };
 
 /* user_action_cookie is passed as argument to OVS_ACTION_ATTR_USERSPACE.
- * Since is it passed to kernel as u64, its size has to be 8 bytes. */
+ * Since it is passed to kernel as u64, its size has to be 8 bytes. */
 struct user_action_cookie {
-    uint8_t   type;                 /* enum user_action_cookie_type. */
-    uint8_t   n_output;             /* No of output ports. used by sflow. */
-    ovs_be16  vlan_tci;             /* Used by sFlow */
-    uint32_t  data;                 /* Data is len for OFPP_CONTROLLER action.
-                                       For sFlow it is port_ifindex. */
+    uint16_t type;              /* enum user_action_cookie_type. */
+
+    /* The following members are used only by USER_ACTION_COOKIE_SFLOW. */
+    ovs_be16 vlan_tci;          /* Destination VLAN TCI. */
+    uint32_t output;            /* SFL_FLOW_SAMPLE_TYPE 'output' value. */
 };
 
 BUILD_ASSERT_DECL(sizeof(struct user_action_cookie) == 8);