+ OPT_ADD(fo, SOL_DCCP, DCCP_SOCKOPT_CCID, ccids, i);
+ }
+
+ fd = makesock(IPPROTO_DCCP, 0, conf->host_arg, conf->port_arg, fo);
+ flowopt_cleanup(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;
+ }
+ ret = mark_fd_nonblocking(fd);
+ if (ret < 0)
+ goto err;
+ rn->btrp = btr_pool_new("dccp_recv", 320 * 1024);
+ rn->fd = fd;