diff options
| author | Ben Pfaff <blp@nicira.com> | 2013-02-15 17:29:22 -0800 | 
|---|---|---|
| committer | Jesse Gross <jesse@nicira.com> | 2013-02-22 16:29:22 -0800 | 
| commit | 4490108b4a5ada14c7be712260829faecc814ae5 (patch) | |
| tree | 1a8aa00a6e518cd597b8ffda27f5e357c998a33b /include/linux/openvswitch.h | |
| parent | 14408dba8440ef629a3a2827bc4c7b5045889295 (diff) | |
| download | olio-linux-3.10-4490108b4a5ada14c7be712260829faecc814ae5.tar.xz olio-linux-3.10-4490108b4a5ada14c7be712260829faecc814ae5.zip  | |
openvswitch: Allow OVS_USERSPACE_ATTR_USERDATA to be variable length.
Until now, the optional OVS_USERSPACE_ATTR_USERDATA attribute had to be
exactly 64 bits long, if it was present.  However, 64 bits is not enough
space to associate as much information with a flow as would be convenient
for some userspace features now under development.  This commit generalizes
the attribute, allowing it to be any length.
This generalization is backward-compatible: if userspace only uses 64-bit
attributes, then it will not see any change in behavior.
CC: Romain Lenglet <rlenglet@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'include/linux/openvswitch.h')
| -rw-r--r-- | include/linux/openvswitch.h | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/include/linux/openvswitch.h b/include/linux/openvswitch.h index 99e6414a40d..67d6c7b0358 100644 --- a/include/linux/openvswitch.h +++ b/include/linux/openvswitch.h @@ -127,7 +127,8 @@ enum ovs_packet_cmd {   * for %OVS_PACKET_CMD_EXECUTE.  It has nested %OVS_ACTION_ATTR_* attributes.   * @OVS_PACKET_ATTR_USERDATA: Present for an %OVS_PACKET_CMD_ACTION   * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an - * %OVS_USERSPACE_ATTR_USERDATA attribute. + * %OVS_USERSPACE_ATTR_USERDATA attribute, with the same length and content + * specified there.   *   * These attributes follow the &struct ovs_header within the Generic Netlink   * payload for %OVS_PACKET_* commands. @@ -137,7 +138,7 @@ enum ovs_packet_attr {  	OVS_PACKET_ATTR_PACKET,      /* Packet data. */  	OVS_PACKET_ATTR_KEY,         /* Nested OVS_KEY_ATTR_* attributes. */  	OVS_PACKET_ATTR_ACTIONS,     /* Nested OVS_ACTION_ATTR_* attributes. */ -	OVS_PACKET_ATTR_USERDATA,    /* u64 OVS_ACTION_ATTR_USERSPACE arg. */ +	OVS_PACKET_ATTR_USERDATA,    /* OVS_ACTION_ATTR_USERSPACE arg. */  	__OVS_PACKET_ATTR_MAX  }; @@ -389,13 +390,13 @@ enum ovs_sample_attr {   * enum ovs_userspace_attr - Attributes for %OVS_ACTION_ATTR_USERSPACE action.   * @OVS_USERSPACE_ATTR_PID: u32 Netlink PID to which the %OVS_PACKET_CMD_ACTION   * message should be sent.  Required. - * @OVS_USERSPACE_ATTR_USERDATA: If present, its u64 argument is copied to the - * %OVS_PACKET_CMD_ACTION message as %OVS_PACKET_ATTR_USERDATA, + * @OVS_USERSPACE_ATTR_USERDATA: If present, its variable-length argument is + * copied to the %OVS_PACKET_CMD_ACTION message as %OVS_PACKET_ATTR_USERDATA.   */  enum ovs_userspace_attr {  	OVS_USERSPACE_ATTR_UNSPEC,  	OVS_USERSPACE_ATTR_PID,	      /* u32 Netlink PID to receive upcalls. */ -	OVS_USERSPACE_ATTR_USERDATA,  /* u64 optional user-specified cookie. */ +	OVS_USERSPACE_ATTR_USERDATA,  /* Optional user-specified cookie. */  	__OVS_USERSPACE_ATTR_MAX  };  |