[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: vlan.tcl delay - bug?
If you are using mac-802.3 you should be aware that collision detection is
tightly linked to the maximum delay packets are experiencing (and therefore to
the length of cable used and the bandwidth).
LL is a child of linkdelay, not delaylink. linkdelay is really a class of
connector that induces a delay, not some sort of link.
vlan.tcl is "configured" for plain MAC, not mac-802.3. If you want to set the
Channel delay, you can do so in LanIface::init.
Now the Notes (now NS-Manual) say:
Channel : delay_ is propagation delay on the Channel
LL : delay_ is link-level overhead.
So I would agree with your understanding.
> Date: Wed, 5 Jan 2000 14:51:00 -0500 (EST)
> From: Wing-Chung Hung <[email protected]>
> X-Sender: hungw@uranus
> To: Tarik Alj <[email protected]>
> cc: ns users mail list <[email protected]>
> Subject: Re: vlan.tcl delay - bug?
> MIME-Version: 1.0
>
>
> Here are my understand:
>
> 1.
>
> LL is a child of DelayLink which is a child of link.
> In a point to point connection (not lan), the delay_ of link, I think, is
> the propagation delay (the time it take for a bit of information from
> transmitter to receiver) and there is no channel in such topology.
>
> 2.
>
> when I create a lan using make-lan
>
> set lan [$ns make-lan $nodelist $bw $delay LL Queue/DropTail Mac]
>
> I am thinking that the $delay is the delay is the propagation
> (channel) delay between a transmitting and a receiving node. I.e. it
> should be the delay_ of a channel.
>
> In channel.cc, delay_ actually means propagation dealy and is used for
> collison calculation.
>
> double
> Channel::get_pdelay(Node* /*tnode*/, Node* /*rnode*/)
> {
> // Dummy function
> return delay_;
> }
>
> By assigning the $delay to the delay_ of LL, this delay means the amount
> of time the packet stay in a node before being send to it's downtarget_
> which is the queue. This is reflected in ll.cc
>
> from ll.cc
>
> void LL::sendDown(Packet* p)
> {
> ...
> if (tx == 0) {
> Scheduler& s = Scheduler::instance();
> s.schedule(downtarget_, p, delay_);
> }
> }
>
>
> My conclusion is that the $delay argument in make-lan
>
> set lan [$ns make-lan $nodelist $bw $delay LL Queue/DropTail Mac]
>
> means the inbound processing delay (the amount of time to stay in the node
> before being queue for transmission), and is not related to propagation
> dealy.
>
> Please comment.
>
> Thanks.
>
> -- Wing-Chung
>
Tarik