[firefly] [PATCH 3/6] lib/ofp-util: add support for encoding OFPTYPE_ROLE_STATUS messages

Alexandru Copot alex.mihai.c at gmail.com
Tue Oct 8 11:52:31 EEST 2013


Signed-off-by: Alexandru Copot <alex.mihai.c at gmail.com>
---
 lib/ofp-util.c | 17 +++++++++++++++++
 lib/ofp-util.h | 10 ++++++++++
 2 files changed, 27 insertions(+)

diff --git a/lib/ofp-util.c b/lib/ofp-util.c
index 173b534..9bc30a7 100644
--- a/lib/ofp-util.c
+++ b/lib/ofp-util.c
@@ -3906,6 +3906,23 @@ ofputil_encode_role_reply(const struct ofp_header *request,
     return buf;
 }
 
+struct ofpbuf *
+ofputil_encode_role_status(const struct ofputil_role_status *status,
+                           enum ofputil_protocol protocol)
+{
+    struct ofpbuf *buf;
+    enum ofp_version version;
+    struct ofp14_role_status *rstatus;
+
+    version = ofputil_protocol_to_ofp_version(protocol);
+    buf = ofpraw_alloc_xid(OFPRAW_OFPT14_ROLE_STATUS, version, htonl(0), 0);
+    rstatus = ofpbuf_put_zeros(buf, sizeof *rstatus);
+    rstatus->role = status->role;
+    rstatus->reason = status->reason;
+    rstatus->generation_id = status->generation_id;
+
+    return buf;
+}
 /* Table stats. */
 
 static void
diff --git a/lib/ofp-util.h b/lib/ofp-util.h
index d5f34d7..c3a35a7 100644
--- a/lib/ofp-util.h
+++ b/lib/ofp-util.h
@@ -678,11 +678,21 @@ struct ofputil_role_request {
     uint64_t generation_id;
 };
 
+struct ofputil_role_status {
+    enum ofp12_controller_role role;
+    enum ofp14_controller_role_reason reason;
+    uint64_t generation_id;
+};
+
 enum ofperr ofputil_decode_role_message(const struct ofp_header *,
                                         struct ofputil_role_request *);
 struct ofpbuf *ofputil_encode_role_reply(const struct ofp_header *,
                                          const struct ofputil_role_request *);
 
+struct ofpbuf *ofputil_encode_role_status(
+                                const struct ofputil_role_status *status,
+                                enum ofputil_protocol protocol);
+
 /* Abstract table stats.
  *
  * For now we use ofp12_table_stats as a superset of the other protocol
-- 
1.8.4



More information about the firefly mailing list