dynamic-string: Document a few functions.
[openvswitch] / lib / ofp-util.h
index f9885a3c243de2737ec7613fd5cd8984d2bf26dc..59d6b1abf9e686f763b55ffc5c640fbc0caf2a5e 100644 (file)
@@ -80,6 +80,7 @@ enum ofputil_msg_code {
     OFPUTIL_NXT_SET_PACKET_IN_FORMAT,
     OFPUTIL_NXT_PACKET_IN,
     OFPUTIL_NXT_FLOW_AGE,
+    OFPUTIL_NXT_SET_ASYNC_CONFIG,
 
     /* NXST_* stat requests. */
     OFPUTIL_NXST_FLOW_REQUEST,
@@ -246,8 +247,20 @@ int ofputil_decode_packet_in(struct ofputil_packet_in *,
                              const struct ofp_header *);
 struct ofpbuf *ofputil_encode_packet_in(const struct ofputil_packet_in *,
                                         enum nx_packet_in_format);
-int ofputil_decode_packet_in(struct ofputil_packet_in *pi,
-                             const struct ofp_header *oh);
+
+/* Abstract packet-out message. */
+struct ofputil_packet_out {
+    const void *packet;         /* Packet data, if buffer_id == UINT32_MAX. */
+    size_t packet_len;          /* Length of packet data in bytes. */
+    uint32_t buffer_id;         /* Buffer id or UINT32_MAX if no buffer. */
+    uint16_t in_port;           /* Packet's input port or OFPP_NONE. */
+    union ofp_action *actions;  /* Actions. */
+    size_t n_actions;           /* Number of elements in 'actions' array. */
+};
+
+enum ofperr ofputil_decode_packet_out(struct ofputil_packet_out *,
+                                      const struct ofp_packet_out *);
+struct ofpbuf *ofputil_encode_packet_out(const struct ofputil_packet_out *);
 
 /* OpenFlow protocol utility functions. */
 void *make_openflow(size_t openflow_len, uint8_t type, struct ofpbuf **);
@@ -296,17 +309,11 @@ struct ofpbuf *make_add_simple_flow(const struct cls_rule *,
 struct ofpbuf *make_packet_in(uint32_t buffer_id, uint16_t in_port,
                               uint8_t reason,
                               const struct ofpbuf *payload, int max_send_len);
-struct ofpbuf *make_packet_out(const struct ofpbuf *packet, uint32_t buffer_id,
-                               uint16_t in_port,
-                               const struct ofp_action_header *,
-                               size_t n_actions);
-struct ofpbuf *make_buffered_packet_out(uint32_t buffer_id,
-                                        uint16_t in_port, uint16_t out_port);
-struct ofpbuf *make_unbuffered_packet_out(const struct ofpbuf *packet,
-                                          uint16_t in_port, uint16_t out_port);
 struct ofpbuf *make_echo_request(void);
 struct ofpbuf *make_echo_reply(const struct ofp_header *rq);
 
+struct ofpbuf *ofputil_encode_barrier_request(void);
+
 const char *ofputil_frag_handling_to_string(enum ofp_config_flags);
 bool ofputil_frag_handling_from_string(const char *, enum ofp_config_flags *);
 \f
@@ -343,6 +350,9 @@ bool ofputil_frag_handling_from_string(const char *, enum ofp_config_flags *);
  * OFPUTIL_NXAST_BUNDLE_LOAD
  * OFPUTIL_NXAST_RESUBMIT_TABLE
  * OFPUTIL_NXAST_OUTPUT_REG
+ * OFPUTIL_NXAST_LEARN
+ * OFPUTIL_NXAST_DEC_TTL
+ * OFPUTIL_NXAST_FIN_TIMEOUT
  *
  * (The above list helps developers who want to "grep" for these definitions.)
  */