diff options
author | Simon Horman <horms@verge.net.au> | 2012-11-04 21:41:02 -0800 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2012-11-04 22:05:23 -0800 |
commit | 7a25bd99246a548891427d62ccefb65f765bbc48 (patch) | |
tree | 960543d8741eefdd897f57911430ae1a36cb85c1 /lib/vconn.h | |
parent | 03e1125c312b223a28eb75454cc418a044df3ade (diff) |
vconn: Replace minimum version with bitmap of allowed versions.
This is in preparation for allowing the range of allowed OpenFlow versions
to be configured.
As part of this change pvconn_open() is now paramatised over the allowed
versions. this is to avoid avoids needing to provide version information
as a parameter to pvconn_accept(). This will in turn avoid the need to
pass version information to connmgr_run().
Signed-off-by: Simon Horman <horms@verge.net.au>
[blp@nicira.com simplified slightly and generalize log messages]
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'lib/vconn.h')
-rw-r--r-- | lib/vconn.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/vconn.h b/lib/vconn.h index 1a0bc60e..46ff17fa 100644 --- a/lib/vconn.h +++ b/lib/vconn.h @@ -34,10 +34,11 @@ void vconn_usage(bool active, bool passive, bool bootstrap); /* Active vconns: virtual connections to OpenFlow devices. */ int vconn_verify_name(const char *name); -int vconn_open(const char *name, int min_version, - struct vconn **, uint8_t dscp); +int vconn_open(const char *name, uint32_t allowed_versions, + struct vconn **vconnp, uint8_t dscp); void vconn_close(struct vconn *); const char *vconn_get_name(const struct vconn *); +uint32_t vconn_get_allowed_versions(const struct vconn *vconn); ovs_be32 vconn_get_remote_ip(const struct vconn *); ovs_be16 vconn_get_remote_port(const struct vconn *); ovs_be32 vconn_get_local_ip(const struct vconn *); @@ -55,7 +56,7 @@ int vconn_transact_multiple_noreply(struct vconn *, struct list *requests, void vconn_run(struct vconn *); void vconn_run_wait(struct vconn *); -int vconn_open_block(const char *name, enum ofp_version min_version, +int vconn_open_block(const char *name, uint32_t allowed_versions, struct vconn **); int vconn_connect_block(struct vconn *); int vconn_send_block(struct vconn *, struct ofpbuf *); @@ -73,10 +74,11 @@ void vconn_send_wait(struct vconn *); /* Passive vconns: virtual listeners for incoming OpenFlow connections. */ int pvconn_verify_name(const char *name); -int pvconn_open(const char *name, struct pvconn **, uint8_t dscp); +int pvconn_open(const char *name, uint32_t allowed_versions, + struct pvconn **pvconnp, uint8_t dscp); const char *pvconn_get_name(const struct pvconn *); void pvconn_close(struct pvconn *); -int pvconn_accept(struct pvconn *, int min_version, struct vconn **); +int pvconn_accept(struct pvconn *, struct vconn **); void pvconn_wait(struct pvconn *); #ifdef __cplusplus |