[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] TCP Vegas question/minor bug (?)



I totally agree with you that in tcp-vegas.cc, the else clause should be
put in the outer scope. Actually, I am not sure where you got the patch, I
manually added those two instrumentation statements in ns-2.1b6.
Later, I noticed there's a similar patch on the mailing list, but I didn't
re-apply the patch. Just now, I checked the ns2.1b7, it seems that this patch
didn't get into new release. Anyway, as you said, moving to outer scope
also works fine with me.

Limin

On Tue, 21 Nov 2000, Eric Weigle wrote:

> Hello again,
>
> It seems I'm the only one interested in Vegas, but here's another thing that
> seems odd... comparing tcp.cc (v. 117) and tcp-vegas (v 1.34) the output(...)
> function has some code that doesn't make sense to me:
>
>
> tcp.cc line 547:
> ----------------------------------------
>     if (seqno > maxseq_) {
>         maxseq_ = seqno;
>         if (!rtt_active_) {
>             rtt_active_ = 1;
>             if (seqno > rtt_seq_) {
>                 rtt_seq_ = seqno;
>                 rtt_ts_ = Scheduler::instance().clock();
>             }
>         }
> >   } else {
> >       ++nrexmitpack_;
> >       nrexmitbytes_ += bytes;
>     }
> ----------------------------------------
>
> As compared to:
>
> tcp-vegas.cc line 459:
> ----------------------------------------
>     if (seqno > maxseq_) {
>         maxseq_ = seqno;
>         if (!rtt_active_) {
>             rtt_active_ = 1;
>             if (seqno > rtt_seq_) {
>                 rtt_seq_ = seqno;
>                 rtt_ts_ = now;
> >           } else {
> >               ++nrexmitpack_;
> >               nrexmitbytes_ += bytes;
>             }
>         }
>     }
> ----------------------------------------
>
> I know it's just the insignificant instrumentation code, but they can't *both*
> be right. Shouldn't the else clause in the Vegas code be like that of the
> Tahoe/reno/etc code, moved to the outer scope? I mean, retransmissions are
> occurring when the sequence number transmitted is <= maxseq_, and don't have
> anything to do with the round-trip time sampling. Moving the Vegas clause gives
> what seem like correct numbers in my simulations.
>
>
> Thanks!
> -Eric
>
> --------------------------------------------
>  Eric H. Weigle   CCS-1, RADIANT team
>  [email protected]     Los Alamos National Lab
>  (505) 665-4937   http://home.lanl.gov/ehw/
> --------------------------------------------
>