[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.8 and 1.9

version 1.8, 2008/09/18 10:23:33 version 1.9, 2009/08/13 14:19:43
Line 54 
Line 54 
 sig_atomic_t done = 0;  sig_atomic_t done = 0;
 sig_atomic_t print_stats = 0;  sig_atomic_t print_stats = 0;
   
   u_int rdomain;
   
 struct statctx {  struct statctx {
         struct timeval t_start, t_last, t_cur;          struct timeval t_start, t_last, t_cur;
         unsigned long long bytes;          unsigned long long bytes;
Line 113 
Line 115 
         fprintf(stderr,          fprintf(stderr,
             "usage: tcpbench -l\n"              "usage: tcpbench -l\n"
             "       tcpbench [-v] [-B buf] [-k kvars] [-n connections]"              "       tcpbench [-v] [-B buf] [-k kvars] [-n connections]"
             " [-p port] [-r rate]\n"              " [-p port] [-r rate] [-V rdomain]\n"
             "                [-S space] hostname\n"              "                [-S space] hostname\n"
             "       tcpbench -s [-v] [-B buf] [-k kvars] [-p port] [-r rate]"              "       tcpbench -s [-v] [-B buf] [-k kvars] [-p port] [-r rate]"
             " [-S space]\n");              " [-S space] [-V rdomain]\n");
         exit(1);          exit(1);
 }  }
   
Line 500 
Line 502 
                                 warn("socket");                                  warn("socket");
                         continue;                          continue;
                 }                  }
                   if (rdomain && ai->ai_family == AF_INET) {
                           if (setsockopt(sock, IPPROTO_IP, SO_RDOMAIN,
                               &rdomain, sizeof(rdomain)) == -1)
                                   err(1, "setsockopt SO_RDOMAIN");
                   }
                 if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,                  if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
                     &on, sizeof(on)) == -1)                      &on, sizeof(on)) == -1)
                         warn("reuse port");                          warn("reuse port");
Line 646 
Line 653 
                                         warn("socket");                                          warn("socket");
                                 continue;                                  continue;
                         }                          }
                           if (rdomain && ai->ai_family == AF_INET) {
                                   if (setsockopt(sock, IPPROTO_IP, SO_RDOMAIN,
                                       &rdomain, sizeof(rdomain)) == -1)
                                           err(1, "setsockopt SO_RDOMAIN");
                           }
                         if (Sflag) {                          if (Sflag) {
                                 if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF,                                  if (setsockopt(sock, SOL_SOCKET, SO_SNDBUF,
                                     &Sflag, sizeof(Sflag)) == -1)                                      &Sflag, sizeof(Sflag)) == -1)
Line 757 
Line 769 
   
         struct nlist nl[] = { { "_tcbtable" }, { "" } };          struct nlist nl[] = { { "_tcbtable" }, { "" } };
   
         while ((ch = getopt(argc, argv, "B:hlk:n:p:r:sS:v")) != -1) {          while ((ch = getopt(argc, argv, "B:hlk:n:p:r:sS:vV:")) != -1) {
                 switch (ch) {                  switch (ch) {
                 case 'l':                  case 'l':
                         list_kvars();                          list_kvars();
Line 797 
Line 809 
                         break;                          break;
                 case 'v':                  case 'v':
                         vflag++;                          vflag++;
                           break;
                   case 'V':
                           rdomain = (unsigned int)strtonum(optarg, 0,
                               RT_TABLEID_MAX, &errstr);
                           if (errstr)
                                   errx(1, "rdomain value is %s: %s",
                                       errstr, optarg);
                         break;                          break;
                 case 'n':                  case 'n':
                         nconn = strtonum(optarg, 0, 65535, &errstr);                          nconn = strtonum(optarg, 0, 65535, &errstr);

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9