*/
#include <config.h>
-#include "vconn.h"
+#include "vconn-provider.h"
#include <assert.h>
#include <errno.h>
#include <inttypes.h>
}
}
+/* Returns the name of 'vconn', that is, the string passed to vconn_open(). */
+const char *
+vconn_get_name(const struct vconn *vconn)
+{
+ return vconn->name;
+}
+
/* Returns true if 'vconn' is a passive vconn, that is, its purpose is to
* wait for connections to arrive, not to transfer data. Returns false if
* 'vconn' is an active vconn, that is, its purpose is to transfer data, not
size_t size = sizeof *opo + sizeof opo->actions[0];
struct buffer *out = buffer_new(size + packet->size);
opo = buffer_put_uninit(out, size);
- memset(opo, 0, sizeof *opo);
+ memset(opo, 0, size);
opo->header.version = OFP_VERSION;
opo->header.type = OFPT_PACKET_OUT;
opo->buffer_id = htonl(UINT32_MAX);
reply->type = OFPT_ECHO_REPLY;
return out;
}
+
+void
+vconn_init(struct vconn *vconn, struct vconn_class *class, int connect_status,
+ uint32_t ip, const char *name)
+{
+ vconn->class = class;
+ vconn->connect_status = connect_status;
+ vconn->ip = ip;
+ vconn->name = xstrdup(name);
+}
+