Index: head/benchmarks/netio/Makefile =================================================================== --- head/benchmarks/netio/Makefile (revision 496920) +++ head/benchmarks/netio/Makefile (revision 496921) @@ -1,38 +1,39 @@ # Created by: arved # $FreeBSD$ PORTNAME= netio -PORTVERSION= 1.32 +PORTVERSION= 1.33 CATEGORIES= benchmarks net ipv6 -MASTER_SITES= LOCAL/arved -DISTNAME= netio132 +MASTER_SITES= http://www.ars.de/ \ + LOCAL/arved +DISTNAME= netio133 MAINTAINER= arved@FreeBSD.org COMMENT= Network benchmark USES= dos2unix gmake zip DOS2UNIX_FILES= Makefile netio.c NO_WRKSUBDIR= yes PLIST_FILES= bin/netio CFLAGS+= -DUNIX -DSOCKLEN_T LIBS+= -pthread MAKE_ENV= OUT=-o OPTIONS_DEFINE= IPV6 IPV6_PLIST_FILES= bin/netio6 do-build: @(cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} O=.o CFLAGS="${CFLAGS}" ${MAKE_CMD} all) do-build-IPV6-on: @(cd ${WRKSRC} && \ ${MAKE_ENV} O=.6o X=6 CFLAGS="${CFLAGS} -DUSE_IPV6" ${MAKE_CMD} all) do-install: ${INSTALL_PROGRAM} ${WRKSRC}/netio ${STAGEDIR}${PREFIX}/bin do-install-IPV6-on: ${INSTALL_PROGRAM} ${WRKSRC}/netio6 ${STAGEDIR}${PREFIX}/bin .include Index: head/benchmarks/netio/distinfo =================================================================== --- head/benchmarks/netio/distinfo (revision 496920) +++ head/benchmarks/netio/distinfo (revision 496921) @@ -1,2 +1,3 @@ -SHA256 (netio132.zip) = c21550dfac6634558a7a79957eed28c46c62e0543017ef9d5c97c49f3cd41ddd -SIZE (netio132.zip) = 162484 +TIMESTAMP = 1553627772 +SHA256 (netio133.zip) = dc9599862f7a5aa7052a5d28ecd598f9be826f11d54d8a3b136a8d1f5d9a96c6 +SIZE (netio133.zip) = 235931 Index: head/benchmarks/netio/files/patch-netio.c =================================================================== --- head/benchmarks/netio/files/patch-netio.c (revision 496920) +++ head/benchmarks/netio/files/patch-netio.c (revision 496921) @@ -1,335 +1,330 @@ ---- netio.c.orig 2016-07-27 15:01:12 UTC -+++ netio.c -@@ -136,6 +136,7 @@ static char *rcsrev = "$Revision: 1.32 $ - #include +--- netio.c.orig 2019-03-26 20:22:31.238439000 +0100 ++++ netio.c 2019-03-26 20:25:57.485700000 +0100 +@@ -142,6 +142,7 @@ #include + #include #if defined(UNIX) || defined(DJGPP) +#include #include #include #include -@@ -546,7 +547,7 @@ int send_data(int socket, void *buffer, +@@ -559,7 +560,7 @@ int recv_data(int socket, void *buffer, size_t size, int flags) { - size_t rc = recv(socket, buffer, size, flags); + ssize_t rc = recv(socket, buffer, size, flags); if (rc < 0) { -@@ -563,8 +564,13 @@ int recv_data(int socket, void *buffer, +@@ -576,8 +577,13 @@ const int sobufsize = 131072; int nPort = DEFAULTPORT; int nAuxPort = DEFAULTPORT + 1; +#ifdef USE_IPV6 +struct in6_addr addr_server; +struct in6_addr addr_local; +#else struct in_addr addr_server; struct in_addr addr_local; +#endif int udpsocket, udpd; unsigned long nUDPCount; -@@ -577,7 +583,11 @@ THREAD TCP_Server(void *arg) +@@ -590,7 +596,11 @@ TIMER nTimer; long nTime; long long nData; +#ifdef USE_IPV6 + struct sockaddr_in6 sa_server, sa_client; +#else struct sockaddr_in sa_server, sa_client; +#endif int server, client; socklen_type length; struct timeval tv; -@@ -591,7 +601,11 @@ THREAD TCP_Server(void *arg) +@@ -605,7 +615,11 @@ return THREADRESULT; } +#ifdef USE_IPV6 + if ((server = socket(PF_INET6, SOCK_STREAM, 0)) < 0) +#else if ((server = socket(PF_INET, SOCK_STREAM, 0)) < 0) +#endif { psock_errno("socket()"); free(cBuffer); -@@ -601,9 +615,15 @@ THREAD TCP_Server(void *arg) - setsockopt(server, SOL_SOCKET, SO_RCVBUF, (char *) &sobufsize, sizeof(sobufsize)); +@@ -616,9 +630,15 @@ setsockopt(server, SOL_SOCKET, SO_SNDBUF, (char *) &sobufsize, sizeof(sobufsize)); + setsockopt(server, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)); +#ifdef USE_IPV6 + sa_server.sin6_family = AF_INET6; + sa_server.sin6_port = htons(nPort); + sa_server.sin6_addr = addr_local; +#else sa_server.sin_family = AF_INET; sa_server.sin_port = htons(nPort); sa_server.sin_addr = addr_local; +#endif if (bind(server, (struct sockaddr *) &sa_server, sizeof(sa_server)) < 0) { -@@ -753,7 +773,11 @@ void TCP_Bench(void *arg) +@@ -768,7 +788,11 @@ long nTime; long long nData; int i; +#ifdef USE_IPV6 + struct sockaddr_in6 sa_server, sa_client; +#else struct sockaddr_in sa_server, sa_client; +#endif int server; int rc; int nByte; -@@ -764,7 +788,11 @@ void TCP_Bench(void *arg) +@@ -780,7 +804,11 @@ return; } +#ifdef USE_IPV6 + if ((server = socket(PF_INET6, SOCK_STREAM, 0)) < 0) +#else if ((server = socket(PF_INET, SOCK_STREAM, 0)) < 0) +#endif { psock_errno("socket()"); free(cBuffer); -@@ -774,21 +802,33 @@ void TCP_Bench(void *arg) - setsockopt(server, SOL_SOCKET, SO_RCVBUF, (char *) &sobufsize, sizeof(sobufsize)); +@@ -791,9 +819,15 @@ setsockopt(server, SOL_SOCKET, SO_SNDBUF, (char *) &sobufsize, sizeof(sobufsize)); + setsockopt(server, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)); +#ifdef USE_IPV6 + sa_client.sin6_family = AF_INET6; + sa_client.sin6_port = htons(0); + sa_client.sin6_addr = addr_local; +#else sa_client.sin_family = AF_INET; sa_client.sin_port = htons(0); sa_client.sin_addr = addr_local; +#endif if (bind(server, (struct sockaddr *) &sa_client, sizeof(sa_client)) < 0) { - psock_errno("bind()"); - soclose(server); - free(cBuffer); -- return THREADRESULT; -+ return; +@@ -803,9 +837,15 @@ + return; } +#ifdef USE_IPV6 + sa_server.sin6_family = AF_INET6; + sa_server.sin6_port = htons(nPort); + sa_server.sin6_addr = addr_server; +#else sa_server.sin_family = AF_INET; sa_server.sin_port = htons(nPort); sa_server.sin_addr = addr_server; +#endif if (connect(server, (struct sockaddr *) &sa_server, sizeof(sa_server)) < 0) { -@@ -911,7 +951,11 @@ void TCP_Bench(void *arg) +@@ -928,7 +968,11 @@ THREAD UDP_Receiver(void *arg) { char *cBuffer; +#ifdef USE_IPV6 + struct sockaddr_in6 sa_server, sa_client; +#else struct sockaddr_in sa_server, sa_client; +#endif int rc; socklen_type nBytes; -@@ -921,7 +965,11 @@ THREAD UDP_Receiver(void *arg) +@@ -938,7 +982,11 @@ return THREADRESULT; } +#ifdef USE_IPV6 + if ((udpsocket = socket(PF_INET6, SOCK_DGRAM, 0)) < 0) +#else if ((udpsocket = socket(PF_INET, SOCK_DGRAM, 0)) < 0) +#endif { psock_errno("socket(DGRAM)"); free(cBuffer); -@@ -931,9 +979,15 @@ THREAD UDP_Receiver(void *arg) +@@ -948,9 +996,15 @@ setsockopt(udpsocket, SOL_SOCKET, SO_RCVBUF, (char *) &sobufsize, sizeof(sobufsize)); setsockopt(udpsocket, SOL_SOCKET, SO_SNDBUF, (char *) &sobufsize, sizeof(sobufsize)); +#ifdef USE_IPV6 + sa_server.sin6_family = AF_INET6; + sa_server.sin6_port = htons(nAuxPort); + sa_server.sin6_addr = addr_local; +#else sa_server.sin_family = AF_INET; sa_server.sin_port = htons(nAuxPort); sa_server.sin_addr = addr_local; +#endif if (bind(udpsocket, (struct sockaddr *) &sa_server, sizeof(sa_server)) < 0) { -@@ -973,7 +1027,11 @@ THREAD UDP_Server(void *arg) +@@ -990,7 +1044,11 @@ TIMER nTimer; long nTime; long long nData; +#ifdef USE_IPV6 + struct sockaddr_in6 sa_server, sa_client; +#else struct sockaddr_in sa_server, sa_client; +#endif int server, client; struct timeval tv; fd_set fds; -@@ -986,7 +1044,11 @@ THREAD UDP_Server(void *arg) +@@ -1003,7 +1061,11 @@ return THREADRESULT; } +#ifdef USE_IPV6 + if ((server = socket(PF_INET6, SOCK_STREAM, 0)) < 0) +#else if ((server = socket(PF_INET, SOCK_STREAM, 0)) < 0) +#endif { psock_errno("socket(STREAM)"); free(cBuffer); -@@ -996,9 +1058,15 @@ THREAD UDP_Server(void *arg) +@@ -1013,9 +1075,15 @@ setsockopt(server, SOL_SOCKET, SO_RCVBUF, (char *) &sobufsize, sizeof(sobufsize)); setsockopt(server, SOL_SOCKET, SO_SNDBUF, (char *) &sobufsize, sizeof(sobufsize)); +#ifdef USE_IPV6 + sa_server.sin6_family = AF_INET6; + sa_server.sin6_port = htons(nAuxPort); + sa_server.sin6_addr = addr_local; +#else sa_server.sin_family = AF_INET; sa_server.sin_port = htons(nAuxPort); sa_server.sin_addr = addr_local; +#endif if (bind(server, (struct sockaddr *) &sa_server, sizeof(sa_server)) < 0) { -@@ -1044,7 +1112,11 @@ THREAD UDP_Server(void *arg) +@@ -1061,7 +1129,11 @@ printf("UDP connection established ... "); fflush(stdout); +#ifdef USE_IPV6 + sa_client.sin6_port = htons(nAuxPort); +#else sa_client.sin_port = htons(nAuxPort); +#endif for (;;) { -@@ -1160,7 +1232,11 @@ void UDP_Bench(void *arg) +@@ -1177,7 +1249,11 @@ long nResult; long long nData; int i; +#ifdef USE_IPV6 + struct sockaddr_in6 sa_server, sa_client; +#else struct sockaddr_in sa_server, sa_client; +#endif int server; int rc, nByte; -@@ -1170,7 +1246,11 @@ void UDP_Bench(void *arg) +@@ -1187,7 +1263,11 @@ return; } +#ifdef USE_IPV6 + if ((server = socket(PF_INET6, SOCK_STREAM, 0)) < 0) +#else if ((server = socket(PF_INET, SOCK_STREAM, 0)) < 0) +#endif { psock_errno("socket()"); free(cBuffer); -@@ -1180,21 +1260,33 @@ void UDP_Bench(void *arg) +@@ -1197,9 +1277,15 @@ setsockopt(server, SOL_SOCKET, SO_RCVBUF, (char *) &sobufsize, sizeof(sobufsize)); setsockopt(server, SOL_SOCKET, SO_SNDBUF, (char *) &sobufsize, sizeof(sobufsize)); +#ifdef USE_IPV6 + sa_client.sin6_family = AF_INET6; + sa_client.sin6_port = htons(0); + sa_client.sin6_addr = addr_local; +#else sa_client.sin_family = AF_INET; - sa_client.sin_port = htons(0); +- sa_client.sin_port = htons(0); ++ sa_client.sin_port = htons(0); sa_client.sin_addr = addr_local; +#endif if (bind(server, (struct sockaddr *) &sa_client, sizeof(sa_client)) < 0) { - psock_errno("bind(STREAM)"); - soclose(server); - free(cBuffer); -- return THREADRESULT; -+ return; +@@ -1209,9 +1295,15 @@ + return; } +#ifdef USE_IPV6 + sa_server.sin6_family = AF_INET6; + sa_server.sin6_port = htons(nAuxPort); + sa_server.sin6_addr = addr_server; +#else sa_server.sin_family = AF_INET; sa_server.sin_port = htons(nAuxPort); sa_server.sin_addr = addr_server; +#endif if (connect(server, (struct sockaddr *) &sa_server, sizeof(sa_server)) < 0) { -@@ -1425,17 +1517,29 @@ int main(int argc, char **argv) +@@ -1442,17 +1534,29 @@ return psock_errno("sock_init()"), 1; if (szLocal == 0) +#ifdef USE_IPV6 + addr_local = in6addr_any; +#else addr_local.s_addr = INADDR_ANY; +#endif else { if (isdigit(*szLocal)) +#ifdef USE_IPV6 + inet_pton(AF_INET6, szLocal, &addr_local); +#else addr_local.s_addr = inet_addr(szLocal); +#endif else { if ((host = gethostbyname(szLocal)) == NULL) return psock_errno("gethostbyname()"), 1; +#ifdef USE_IPV6 + addr_local = * (struct in6_addr *) (host->h_addr); +#else addr_local = * (struct in_addr *) (host->h_addr); +#endif } } -@@ -1445,13 +1549,21 @@ int main(int argc, char **argv) +@@ -1462,13 +1566,21 @@ usage(); if (isdigit(*argv[optind])) +#ifdef USE_IPV6 + inet_pton(AF_INET6, argv[optind], &addr_server); +#else addr_server.s_addr = inet_addr(argv[optind]); +#endif else { if ((host = gethostbyname(argv[optind])) == NULL) return psock_errno("gethostbyname()"), 1; +#ifdef USE_IPV6 + addr_server = * (struct in6_addr *) (host->h_addr); +#else addr_server = * (struct in_addr *) (host->h_addr); +#endif } } }