mirror of
https://github.com/openvswitch/ovs
synced 2025-08-30 22:05:19 +00:00
ovsdb-server: Announce bound listening ports as status:bound_port.
The administrator can request that OVSDB bind any available TCP port, but in that case there is no easy way to find out what port it has bound. This commit adds that information as the "bound_port" key in the "status" column. Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2009, 2010, 2012 Nicira, Inc.
|
||||
* Copyright (c) 2008, 2009, 2010, 2012, 2013 Nicira, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -108,6 +108,7 @@ ptcp_open(const char *name OVS_UNUSED, char *suffix, struct pstream **pstreamp,
|
||||
{
|
||||
struct sockaddr_in sin;
|
||||
char bound_name[128];
|
||||
int error;
|
||||
int fd;
|
||||
|
||||
fd = inet_open_passive(SOCK_STREAM, suffix, -1, &sin, dscp);
|
||||
@@ -117,8 +118,12 @@ ptcp_open(const char *name OVS_UNUSED, char *suffix, struct pstream **pstreamp,
|
||||
|
||||
sprintf(bound_name, "ptcp:%"PRIu16":"IP_FMT,
|
||||
ntohs(sin.sin_port), IP_ARGS(sin.sin_addr.s_addr));
|
||||
return new_fd_pstream(bound_name, fd, ptcp_accept, set_dscp, NULL,
|
||||
pstreamp);
|
||||
error = new_fd_pstream(bound_name, fd, ptcp_accept, set_dscp, NULL,
|
||||
pstreamp);
|
||||
if (!error) {
|
||||
pstream_set_bound_port(*pstreamp, sin.sin_port);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
static int
|
||||
|
Reference in New Issue
Block a user