Signed-off-by: Simon Horman <[email protected]>
---
v8
* Manual Rebase
v7
* Manual Rebase
v6
* No change
v5
* No change
v4
* Initial post
Conflicts:
lib/ofp-util.c
---
lib/ofp-util.c | 20 ++++++++++++++++++--
lib/ofp-util.h | 2 +-
lib/vconn.c | 2 +-
utilities/ovs-ofctl.c | 2 +-
4 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/lib/ofp-util.c b/lib/ofp-util.c
index 48d7fbc..697c665 100644
--- a/lib/ofp-util.c
+++ b/lib/ofp-util.c
@@ -3087,9 +3087,25 @@ make_echo_reply(const struct ofp_header *rq)
}
struct ofpbuf *
-ofputil_encode_barrier_request(void)
+ofputil_encode_barrier_request(uint8_t ofp_version)
{
- return ofpraw_alloc(OFPRAW_OFPT10_BARRIER_REQUEST, OFP10_VERSION, 0);
+ enum ofpraw type;
+
+ switch (ofp_version) {
+ case OFP12_VERSION:
+ case OFP11_VERSION:
+ type = OFPRAW_OFPT11_BARRIER_REQUEST;
+ break;
+
+ case OFP10_VERSION:
+ type = OFPRAW_OFPT10_BARRIER_REQUEST;
+ break;
+
+ default:
+ NOT_REACHED();
+ }
+
+ return ofpraw_alloc(type, ofp_version, 0);
}
const char *
diff --git a/lib/ofp-util.h b/lib/ofp-util.h
index 662bafa..dfbbaf3 100644
--- a/lib/ofp-util.h
+++ b/lib/ofp-util.h
@@ -502,7 +502,7 @@ void ofputil_append_port_desc_stats_reply(enum ofp_version
ofp_version,
struct ofpbuf *make_echo_request(void);
struct ofpbuf *make_echo_reply(const struct ofp_header *rq);
-struct ofpbuf *ofputil_encode_barrier_request(void);
+struct ofpbuf *ofputil_encode_barrier_request(uint8_t ofp_version);
const char *ofputil_frag_handling_to_string(enum ofp_config_flags);
bool ofputil_frag_handling_from_string(const char *, enum ofp_config_flags *);
diff --git a/lib/vconn.c b/lib/vconn.c
index caa1bcc..94040ce 100644
--- a/lib/vconn.c
+++ b/lib/vconn.c
@@ -744,7 +744,7 @@ vconn_transact_noreply(struct vconn *vconn, struct ofpbuf
*request,
}
/* Send barrier. */
- barrier = ofputil_encode_barrier_request();
+ barrier = ofputil_encode_barrier_request(vconn_get_version(vconn));
barrier_xid = ((struct ofp_header *) barrier->data)->xid;
error = vconn_send_block(vconn, barrier);
if (error) {
diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c
index 61e00eb..982f4d3 100644
--- a/utilities/ovs-ofctl.c
+++ b/utilities/ovs-ofctl.c
@@ -1217,7 +1217,7 @@ ofctl_barrier(struct unixctl_conn *conn, int argc
OVS_UNUSED,
return;
}
- msg = ofputil_encode_barrier_request();
+ msg = ofputil_encode_barrier_request(vconn_get_version(aux->vconn));
error = vconn_send_block(aux->vconn, msg);
if (error) {
ofpbuf_delete(msg);
--
1.7.10.2.484.gcd07cc5
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev