struct ofpbuf *ofputil_encode_flow_removed(const struct ofputil_flow_removed *,
enum nx_flow_format);
+/* Abstract packet-in message. */
+struct ofputil_packet_in {
+ struct ofpbuf *packet;
+ uint16_t in_port;
+ uint8_t reason; /* One of OFPR_*. */
+
+ uint32_t buffer_id;
+ int send_len;
+};
+
+struct ofpbuf *ofputil_encode_packet_in(const struct ofputil_packet_in *,
+ struct ofpbuf *rw_packet);
+
/* OpenFlow protocol utility functions. */
void *make_openflow(size_t openflow_len, uint8_t type, struct ofpbuf **);
void *make_nxmsg(size_t openflow_len, uint32_t subtype, struct ofpbuf **);
struct ofpbuf *make_echo_request(void);
struct ofpbuf *make_echo_reply(const struct ofp_header *rq);
-struct flow_stats_iterator {
- const uint8_t *pos, *end;
-};
-const struct ofp_flow_stats *flow_stats_first(struct flow_stats_iterator *,
- const struct ofp_stats_reply *);
-const struct ofp_flow_stats *flow_stats_next(struct flow_stats_iterator *);
+void hton_ofp_phy_port(struct ofp_phy_port *);
\f
/* Actions. */