struct buffer;
struct flow;
struct pollfd;
+struct ofp_header;
/* Client interface. */
struct vconn {
struct vconn_class *class;
int connect_status;
+ uint32_t ip;
};
void vconn_usage(bool active, bool passive);
int vconn_open(const char *name, struct vconn **);
void vconn_close(struct vconn *);
bool vconn_is_passive(const struct vconn *);
+uint32_t vconn_get_ip(const struct vconn *);
int vconn_connect(struct vconn *);
int vconn_accept(struct vconn *, struct vconn **);
int vconn_recv(struct vconn *, struct buffer **);
void vconn_send_wait(struct vconn *);
struct buffer *make_add_simple_flow(const struct flow *,
- uint32_t buffer_id, uint16_t out_port);
+ uint32_t buffer_id, uint16_t out_port,
+ uint16_t max_idle);
struct buffer *make_buffered_packet_out(uint32_t buffer_id,
uint16_t in_port, uint16_t out_port);
struct buffer *make_unbuffered_packet_out(const struct buffer *packet,
uint16_t in_port, uint16_t out_port);
+struct buffer *make_echo_request(void);
+struct buffer *make_echo_reply(const struct ofp_header *rq);
\f
/* Provider interface. */