X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Frconn.c;h=181cae59940b89c2390ddc37f5edb97de698b938;hb=c752217a1eeeb82572ba2be2ce5c5c04101a2ae6;hp=b18a2e59e918c3d4373b3a4e19a0bcf55b6e6af6;hpb=e3fdfed11b8c56aa6a8deffe11a552fed7e7adbc;p=openvswitch diff --git a/lib/rconn.c b/lib/rconn.c index b18a2e59..181cae59 100644 --- a/lib/rconn.c +++ b/lib/rconn.c @@ -89,7 +89,7 @@ struct rconn { time_t last_admitted; /* These values are simply for statistics reporting, not used directly by - * anything internal to the rconn (or the secchan for that matter). */ + * anything internal to the rconn (or ofproto for that matter). */ unsigned int packets_received; unsigned int n_attempted_connections, n_successful_connections; time_t creation_time; @@ -638,9 +638,34 @@ rconn_failure_duration(const struct rconn *rconn) /* Returns the IP address of the peer, or 0 if the peer is not connected over * an IP-based protocol or if its IP address is not known. */ uint32_t -rconn_get_ip(const struct rconn *rconn) +rconn_get_remote_ip(const struct rconn *rconn) { - return rconn->vconn ? vconn_get_ip(rconn->vconn) : 0; + return rconn->vconn ? vconn_get_remote_ip(rconn->vconn) : 0; +} + +/* Returns the transport port of the peer, or 0 if the peer does not + * contain a port or if the port is not known. */ +uint16_t +rconn_get_remote_port(const struct rconn *rconn) +{ + return rconn->vconn ? vconn_get_remote_port(rconn->vconn) : 0; +} + +/* Returns the IP address used to connect to the peer, or 0 if the + * connection is not an IP-based protocol or if its IP address is not + * known. */ +uint32_t +rconn_get_local_ip(const struct rconn *rconn) +{ + return rconn->vconn ? vconn_get_local_ip(rconn->vconn) : 0; +} + +/* Returns the transport port used to connect to the peer, or 0 if the + * connection does not contain a port or if the port is not known. */ +uint16_t +rconn_get_local_port(const struct rconn *rconn) +{ + return rconn->vconn ? vconn_get_local_port(rconn->vconn) : 0; } /* If 'rconn' can't connect to the peer, it could be for any number of reasons.