- 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, NULL, pstreamp);
+ port = ss_get_port(&ss);
+ snprintf(bound_name, sizeof bound_name, "ptcp:%"PRIu16":%s",
+ port, ss_format_address(&ss, addrbuf, sizeof addrbuf));
+
+ error = new_fd_pstream(bound_name, fd, ptcp_accept, set_dscp, NULL,
+ pstreamp);
+ if (!error) {
+ pstream_set_bound_port(*pstreamp, htons(port));
+ }
+ return error;