[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