[BACK]Return to tcpbench.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tcpbench

Diff for /src/usr.bin/tcpbench/tcpbench.c between version 1.36 and 1.37

version 1.36, 2012/06/16 17:18:11 version 1.37, 2012/10/02 08:50:15
Line 61 
Line 61 
   
 /* Our tcpbench globals */  /* Our tcpbench globals */
 struct {  struct {
         u_int     Vflag;        /* rtableid */  
         int       Sflag;        /* Socket buffer size (tcp mode) */          int       Sflag;        /* Socket buffer size (tcp mode) */
         u_int     rflag;        /* Report rate (ms) */          u_int     rflag;        /* Report rate (ms) */
         int       sflag;        /* True if server */          int       sflag;        /* True if server */
Line 752 
Line 751 
                                 warn("socket");                                  warn("socket");
                         continue;                          continue;
                 }                  }
                 if (ptb->Vflag) {  
                         if (setsockopt(sock, SOL_SOCKET, SO_RTABLE,  
                             &ptb->Vflag, sizeof(ptb->Vflag)) == -1) {  
                                 if (errno == ENOPROTOOPT)  
                                         warn("set rtable");  
                                 else  
                                         err(1, "setsockopt SO_RTABLE");  
                         }  
                 }  
                 if (ptb->Tflag != -1 && ai->ai_family == AF_INET) {                  if (ptb->Tflag != -1 && ai->ai_family == AF_INET) {
                         if (setsockopt(sock, IPPROTO_IP, IP_TOS,                          if (setsockopt(sock, IPPROTO_IP, IP_TOS,
                             &ptb->Tflag, sizeof(ptb->Tflag)))                              &ptb->Tflag, sizeof(ptb->Tflag)))
Line 890 
Line 880 
                                     &ptb->Tflag, sizeof(ptb->Tflag)))                                      &ptb->Tflag, sizeof(ptb->Tflag)))
                                         err(1, "setsockopt IPV6_TCLASS");                                          err(1, "setsockopt IPV6_TCLASS");
                         }                          }
                         if (ptb->Vflag) {  
                                 if (setsockopt(sock, SOL_SOCKET, SO_RTABLE,  
                                     &ptb->Vflag, sizeof(ptb->Vflag)) == -1) {  
                                         if (errno == ENOPROTOOPT)  
                                                 warn("set rtable");  
                                         else  
                                                 err(1, "setsockopt SO_RTABLE");  
                                 }  
                         }  
                         if (ptb->Sflag) {                          if (ptb->Sflag) {
                                 if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF,                                  if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF,
                                     &ptb->Sflag, sizeof(ptb->Sflag)) == -1)                                      &ptb->Sflag, sizeof(ptb->Sflag)) == -1)
Line 1006 
Line 987 
         extern int optind;          extern int optind;
         extern char *optarg;          extern char *optarg;
         struct timeval tv;          struct timeval tv;
         unsigned int secs;          unsigned int secs, rtable;
   
         char kerr[_POSIX2_LINE_MAX], *tmp;          char kerr[_POSIX2_LINE_MAX], *tmp;
         struct addrinfo *aitop, *aib, hints;          struct addrinfo *aitop, *aib, hints;
Line 1022 
Line 1003 
         setlinebuf(stdout);          setlinebuf(stdout);
         ptb = &tcpbench;          ptb = &tcpbench;
         ptb->dummybuf_len = 0;          ptb->dummybuf_len = 0;
         ptb->Sflag = ptb->sflag = ptb->vflag = ptb->Vflag = 0;          ptb->Sflag = ptb->sflag = ptb->vflag = 0;
         ptb->kvmh  = NULL;          ptb->kvmh  = NULL;
         ptb->kvars = NULL;          ptb->kvars = NULL;
         ptb->rflag = DEFAULT_STATS_INTERVAL;          ptb->rflag = DEFAULT_STATS_INTERVAL;
Line 1076 
Line 1057 
                         ptb->vflag++;                          ptb->vflag++;
                         break;                          break;
                 case 'V':                  case 'V':
                         ptb->Vflag = (unsigned int)strtonum(optarg, 0,                          rtable = (unsigned int)strtonum(optarg, 0,
                             RT_TABLEID_MAX, &errstr);                              RT_TABLEID_MAX, &errstr);
                         if (errstr)                          if (errstr)
                                 errx(1, "rtable value is %s: %s",                                  errx(1, "rtable value is %s: %s",
                                     errstr, optarg);                                      errstr, optarg);
                           if (setrtable(rtable) == -1)
                                   err(1, "setrtable");
                         break;                          break;
                 case 'n':                  case 'n':
                         nconn = strtonum(optarg, 0, 65535, &errstr);                          nconn = strtonum(optarg, 0, 65535, &errstr);

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37