summaryrefslogtreecommitdiff
path: root/lib/odp-util.h
diff options
context:
space:
mode:
authorJoe Stringer <joestringer@nicira.com>2014-05-09 13:58:32 +1200
committerJoe Stringer <joestringer@nicira.com>2014-05-19 16:25:15 +1200
commit7ce2769e0c338af6164d4f8c0f2670b9f7423235 (patch)
tree31735b94e47d0168fc9b36206875c837198005ca /lib/odp-util.h
parentf3d1349e371c54a5dbc0ce28afad7855fa2a9763 (diff)
downloadopenvswitch-7ce2769e0c338af6164d4f8c0f2670b9f7423235.tar.gz
odp-util: Always serialise recirculation in upcall key.
The userspace and kernel datapaths previously differed on their treatment of the recirc_id and dp_hash fields when sending upcalls. While the kernel datapath would always serialise these fields, the userspace would not. When using the userspace datapath, this would cause a mismatch between the odp flow key in an upcall compared to the one that is serialised upon flow_dump. This patch brings the userspace datapath behaviour back in line with the kernel datapath by always serialising recirc_id and dp_hash to odp. Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Andy Zhou <azhou@nicira.com>
Diffstat (limited to 'lib/odp-util.h')
-rw-r--r--lib/odp-util.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/odp-util.h b/lib/odp-util.h
index 0dfbccaa9..58bbce900 100644
--- a/lib/odp-util.h
+++ b/lib/odp-util.h
@@ -144,10 +144,11 @@ int odp_flow_from_string(const char *s,
struct ofpbuf *, struct ofpbuf *);
void odp_flow_key_from_flow(struct ofpbuf *, const struct flow * flow,
- const struct flow *mask, odp_port_t odp_in_port);
+ const struct flow *mask, odp_port_t odp_in_port,
+ bool recirc);
void odp_flow_key_from_mask(struct ofpbuf *, const struct flow *mask,
const struct flow *flow, uint32_t odp_in_port,
- size_t max_mpls_depth);
+ size_t max_mpls_depth, bool recirc);
uint32_t odp_flow_key_hash(const struct nlattr *, size_t);