=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tcpbench/tcpbench.c,v retrieving revision 1.63 retrieving revision 1.64 diff -c -r1.63 -r1.64 *** src/usr.bin/tcpbench/tcpbench.c 2020/05/04 12:13:09 1.63 --- src/usr.bin/tcpbench/tcpbench.c 2021/02/04 18:46:25 1.64 *************** *** 1,4 **** ! /* $OpenBSD: tcpbench.c,v 1.63 2020/05/04 12:13:09 sthen Exp $ */ /* * Copyright (c) 2008 Damien Miller --- 1,4 ---- ! /* $OpenBSD: tcpbench.c,v 1.64 2021/02/04 18:46:25 bluhm Exp $ */ /* * Copyright (c) 2008 Damien Miller *************** *** 65,70 **** --- 65,71 ---- /* Our tcpbench globals */ struct { + int Dflag; /* Socket debug */ int Sflag; /* Socket buffer size */ u_int rflag; /* Report rate (ms) */ int sflag; /* True if server */ *************** *** 198,207 **** { fprintf(stderr, "usage: tcpbench -l\n" ! " tcpbench [-46RUuv] [-B buf] [-b sourceaddr] [-k kvars] [-n connections]\n" " [-p port] [-r interval] [-S space] [-T toskeyword]\n" " [-t secs] [-V rtable] hostname\n" ! " tcpbench -s [-46Uuv] [-B buf] [-k kvars] [-p port] [-r interval]\n" " [-S space] [-T toskeyword] [-V rtable] [hostname]\n"); exit(1); } --- 199,208 ---- { fprintf(stderr, "usage: tcpbench -l\n" ! " tcpbench [-46DRUuv] [-B buf] [-b sourceaddr] [-k kvars] [-n connections]\n" " [-p port] [-r interval] [-S space] [-T toskeyword]\n" " [-t secs] [-V rtable] hostname\n" ! " tcpbench -s [-46DUuv] [-B buf] [-k kvars] [-p port] [-r interval]\n" " [-S space] [-T toskeyword] [-V rtable] [hostname]\n"); exit(1); } *************** *** 857,862 **** --- 858,868 ---- warn("socket"); continue; } + if (ptb->Dflag) { + if (setsockopt(sock, SOL_SOCKET, SO_DEBUG, + &ptb->Dflag, sizeof(ptb->Dflag))) + err(1, "setsockopt SO_DEBUG"); + } if (ptb->Tflag != -1 && ai->ai_family == AF_INET) { if (setsockopt(sock, IPPROTO_IP, IP_TOS, &ptb->Tflag, sizeof(ptb->Tflag))) *************** *** 970,975 **** --- 976,986 ---- warn("socket"); continue; } + if (ptb->Dflag) { + if (setsockopt(sock, SOL_SOCKET, SO_DEBUG, + &ptb->Dflag, sizeof(ptb->Dflag))) + err(1, "setsockopt SO_DEBUG"); + } if (aib != NULL) { saddr_ntop(aib->ai_addr, aib->ai_addrlen, tmp, sizeof(tmp)); *************** *** 1138,1143 **** --- 1149,1155 ---- setvbuf(stdout, NULL, _IOLBF, 0); ptb = &tcpbench; ptb->dummybuf_len = 0; + ptb->Dflag = 0; ptb->Sflag = ptb->sflag = ptb->vflag = ptb->Rflag = ptb->Uflag = 0; ptb->kvmh = NULL; ptb->kvars = NULL; *************** *** 1147,1153 **** aib = NULL; secs = 0; ! while ((ch = getopt(argc, argv, "46b:B:hlk:n:p:Rr:sS:t:T:uUvV:")) != -1) { switch (ch) { case '4': family = PF_INET; --- 1159,1166 ---- aib = NULL; secs = 0; ! while ((ch = getopt(argc, argv, "46b:B:Dhlk:n:p:Rr:sS:t:T:uUvV:")) ! != -1) { switch (ch) { case '4': family = PF_INET; *************** *** 1157,1162 **** --- 1170,1178 ---- break; case 'b': srcbind = optarg; + break; + case 'D': + ptb->Dflag = 1; break; case 'l': list_kvars();