- ret = dccp_set_socket(pdd->fd);
- if (ret < 0)
- goto err_out;
- PARA_NOTICE_LOG("connecting to %s:%d\n", conf->host_arg, conf->port_arg);
- ret = PARA_CONNECT(pdd->fd, ai->ai_addr);
- freeaddrinfo(ai);
- if (ret < 0) {
- ret = -E_DCCP_CONNECT;
- goto err_out;
+
+ fd = makesock(IPPROTO_DCCP, 0, conf->host_arg, conf->port_arg, fo);
+ free(ccids);
+ if (fd < 0)
+ return fd;
+ /*
+ * Disable unused CCIDs: the receiver does not send any application
+ * data to the server. By shutting down this unused path we reduce
+ * internal processing costs, as the unused CCIDs (in the kernel) are
+ * then bypassed.
+ */
+ if (shutdown(fd, SHUT_WR) < 0) {
+ ret = -ERRNO_TO_PARA_ERROR(errno);
+ goto err;