--- ../net-tools-1.3.6-BETA4/route.c Sun Sep 24 03:42:15 1995 +++ route.c Fri Sep 29 11:53:35 1995 @@ -200,7 +200,7 @@ fprintf(stderr, NLS_CATGETS(catfd, routeSet, route_usage4, " [metric NN] [netmask mask] [mss maxsegment] [window maxwindow]\n")); fprintf(stderr, NLS_CATGETS(catfd, routeSet, route_usage5, - " [[dev] device]\n")); + " [irtt ticks] [[dev] device]\n")); NLS_CATCLOSE(catfd) exit(-1); } @@ -213,7 +213,7 @@ struct sockaddr snet, sgate, smask; FILE *fp; int num, iflags, refcnt, use, metric; - int mss, window; + int mss, window, irtt; printf(NLS_CATGETS(catfd, routeSet, route_table, "Kernel routing table\n")); printf(NLS_CATGETS(catfd, routeSet, route_header, @@ -224,11 +224,11 @@ return; } while (fgets(buff, 1023, fp)) { - num = sscanf(buff, "%s %s %s %X %d %d %d %s %d %d\n", + num = sscanf(buff, "%s %s %s %X %d %d %d %s %d %d %d\n", iface, net_addr, gate_addr, &iflags, &refcnt, &use, &metric, mask_addr, - &mss,&window); - if (num != 10) + &mss,&window,&irtt); + if (num != 11) continue; /* Fetch and resolve the target address. */ @@ -395,6 +395,20 @@ if(rt.rt_window<128||rt.rt_window>32768) { fprintf(stderr, NLS_CATGETS(catfd, routeSet, route_window, "Invalid window.\n")); + return -1; + } + continue; + } + if (!strcmp(*args,"irtt")) { + args++; + if(!*args) + usage(); + rt.rt_flags |= RTF_IRTT; + rt.rt_irtt = atoi(*args); + args++; + if(rt.rt_irtt<1||rt.rt_irtt>32768) + { + fprintf(stderr, NLS_CATGETS(catfd, routeSet, route_window, "Invalid initial rtt\n")); return -1; } continue;