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

packets suddenly not dequeueing




can anyone tell me why the packets suddenly stop being forwarded?

i am using tap agents to inject live data into the simulation.  in an
attempt to isolate the problem, i have parred down my topology to a
single duplex link. there are two nodes, each of which has two tap
agents attached to it. each tap agent is attached to a UDPIPNetwork
object.

what happens is that a few packets are received, injected, and
forwarded across the link. then, for some unknown reason,
the packets stop getting dequeued. 

from the poking around i've done so far, i see that
TapAgent::sendpkt() is being called at the beginning of the
simulation, it is not called after the problem starts.

the script is included below; a chunk of the trace output is included
below the script.

-kw

#      
#      
#  wired |0|-------------------|1| wireless
#  224.55.56.1/4000        225.55.56.2/4000
#      
Class EmuSRM
EmuSRM instproc init {addr port ttl} {
        $self instvar cnet_ dnet_ ac_ ad_
 
	puts "opening: $addr $port $ttl"
        set port [expr $port &~ 1]

        set dnet_ [new Network/IP/UDP]
        $dnet_ open readwrite $addr $port $ttl
        set ad_ [new Agent/Tap]
        $ad_ network $dnet_
        
        set cnet_ [new Network/IP/UDP]
        $cnet_ open readwrite $addr [expr $port + 1] $ttl
        set ac_ [new Agent/Tap]
        $ac_ network $cnet_
        
        puts stdout "listening to [$dnet_ addr]/[$dnet_ port] & [$cnet_ port]"
}

EmuSRM instproc data-tap {} {
	$self instvar ad_
	return $ad_
}

EmuSRM instproc control-tap {} {
	$self instvar ac_
	return $ac_
}

exec rsh  vine  "./killmc"
exec rsh  heart "./killmc"
exec rsh  rose  "./killmc"

set ns [new Simulator]
Simulator set NumberInterfaces_ 1

$ns use-scheduler RealTime

set n0 [$ns node]
set n1 [$ns node]

set f [open p.tr w]
$ns trace-all $f
set nf [open p.nam w]
$ns namtrace-all $nf

$ns duplex-link $n0 $n1 10Mb 5ms DropTail
$ns duplex-link-op $n0 $n1 orient right-up
$ns duplex-link-op $n0 $n1 queuePos 0.5

set srm0 [new EmuSRM 224.55.56.1 4000 225]
set srm1 [new EmuSRM 224.55.56.2 4000 225]
$ns attach-agent $n0 [$srm0 data-tap]
$ns attach-agent $n0 [$srm0 control-tap]
$ns attach-agent $n1 [$srm1 data-tap]
$ns attach-agent $n1 [$srm1 control-tap]

$ns connect [$srm0 data-tap]    [$srm1 data-tap]
$ns connect [$srm0 control-tap] [$srm1 control-tap]

exec rsh  vine     "./runmc 4000 -sa 224.55.56.1 -sp 4000 " &
exec rsh  heart    "./runmc 4000 -sa 224.55.56.1 -sp 4000 " &
exec rsh  rose     "./runmc 4000 -sa 224.55.56.2 -sp 4000 -auto 1 " &

$ns at 20.0 "finish"

proc finish {} {
        global ns
        $ns flush-trace
        puts "running nam..."
#        exec nam p &
        exit 0
}

$ns run



+ 2.46711 1 0 live 64 ------- 0 1.1 0.1 -1 0
- 2.46711 1 0 live 64 ------- 0 1.1 0.1 -1 0
r 2.47216 1 0 live 64 ------- 0 1.1 0.1 -1 0
+ 2.58796 1 0 live 89 ------- 0 1.1 0.1 -1 1
- 2.58796 1 0 live 89 ------- 0 1.1 0.1 -1 1
r 2.59303 1 0 live 89 ------- 0 1.1 0.1 -1 1
+ 2.61201 0 1 live 89 ------- 0 0.1 1.1 -1 2
- 2.61201 0 1 live 89 ------- 0 0.1 1.1 -1 2
r 2.61709 0 1 live 89 ------- 0 0.1 1.1 -1 2
+ 2.63597 1 0 live 85 ------- 0 1.1 0.1 -1 3
- 2.63597 1 0 live 85 ------- 0 1.1 0.1 -1 3
r 2.64103 1 0 live 85 ------- 0 1.1 0.1 -1 3
+ 2.65934 0 1 live 64 ------- 0 0.1 1.1 -1 4
- 2.65934 0 1 live 64 ------- 0 0.1 1.1 -1 4
r 2.66439 0 1 live 64 ------- 0 0.1 1.1 -1 4
+ 2.683 1 0 live 90 ------- 0 1.1 0.1 -1 5
- 2.683 1 0 live 90 ------- 0 1.1 0.1 -1 5
r 2.68807 1 0 live 90 ------- 0 1.1 0.1 -1 5
+ 2.70709 0 1 live 90 ------- 0 0.1 1.1 -1 6
- 2.70709 0 1 live 90 ------- 0 0.1 1.1 -1 6
r 2.71216 0 1 live 90 ------- 0 0.1 1.1 -1 6
+ 2.73074 1 0 live 86 ------- 0 1.1 0.1 -1 7
- 2.73074 1 0 live 86 ------- 0 1.1 0.1 -1 7
r 2.7358 1 0 live 86 ------- 0 1.1 0.1 -1 7
+ 2.75418 0 1 live 85 ------- 0 0.1 1.1 -1 8
- 2.75418 0 1 live 85 ------- 0 0.1 1.1 -1 8
r 2.75925 0 1 live 85 ------- 0 0.1 1.1 -1 8
+ 2.77774 1 0 live 86 ------- 0 1.1 0.1 -1 9
- 2.77774 1 0 live 86 ------- 0 1.1 0.1 -1 9
r 2.78281 1 0 live 86 ------- 0 1.1 0.1 -1 9
+ 2.80135 0 1 live 86 ------- 0 0.1 1.1 -1 10
- 2.80135 0 1 live 86 ------- 0 0.1 1.1 -1 10
r 2.80642 0 1 live 86 ------- 0 0.1 1.1 -1 10
+ 2.82468 1 0 live 82 ------- 0 1.1 0.1 -1 11
- 2.82468 1 0 live 82 ------- 0 1.1 0.1 -1 11
r 2.82975 1 0 live 82 ------- 0 1.1 0.1 -1 11
+ 2.84803 0 1 live 86 ------- 0 0.1 1.1 -1 12
- 2.84803 0 1 live 86 ------- 0 0.1 1.1 -1 12
r 2.8531 0 1 live 86 ------- 0 0.1 1.1 -1 12
+ 2.87136 1 0 live 83 ------- 0 1.1 0.1 -1 13
- 2.87136 1 0 live 83 ------- 0 1.1 0.1 -1 13
r 2.87643 1 0 live 83 ------- 0 1.1 0.1 -1 13
+ 2.89472 0 1 live 83 ------- 0 0.1 1.1 -1 14
- 2.89472 0 1 live 83 ------- 0 0.1 1.1 -1 14
r 2.89978 0 1 live 83 ------- 0 0.1 1.1 -1 14
+ 2.91853 1 0 live 87 ------- 0 1.1 0.1 -1 15
- 2.91853 1 0 live 87 ------- 0 1.1 0.1 -1 15
r 2.9236 1 0 live 87 ------- 0 1.1 0.1 -1 15
+ 2.94185 0 1 live 82 ------- 0 0.1 1.1 -1 16
- 2.94185 0 1 live 82 ------- 0 0.1 1.1 -1 16
r 2.94691 0 1 live 82 ------- 0 0.1 1.1 -1 16
+ 2.96524 1 0 live 81 ------- 0 1.1 0.1 -1 17
- 2.96524 1 0 live 81 ------- 0 1.1 0.1 -1 17
r 2.97031 1 0 live 81 ------- 0 1.1 0.1 -1 17
+ 2.98873 0 1 live 81 ------- 0 0.1 1.1 -1 18
- 2.98873 0 1 live 81 ------- 0 0.1 1.1 -1 18
r 2.99379 0 1 live 81 ------- 0 0.1 1.1 -1 18
+ 3.01241 1 0 live 55 ------- 0 1.1 0.1 -1 19
- 3.01241 1 0 live 55 ------- 0 1.1 0.1 -1 19
+ 3.02435 0 1 live 87 ------- 0 0.1 1.1 -1 20
- 3.02435 0 1 live 87 ------- 0 0.1 1.1 -1 20
r 3.01745 1 0 live 55 ------- 0 1.1 0.1 -1 19
r 3.02942 0 1 live 87 ------- 0 0.1 1.1 -1 20
+ 3.04814 1 0 live 73 ------- 0 1.1 0.1 -1 21
- 3.04814 1 0 live 73 ------- 0 1.1 0.1 -1 21
+ 3.04853 0 1 live 55 ------- 0 0.1 1.1 -1 22
- 3.04853 0 1 live 55 ------- 0 0.1 1.1 -1 22
+ 3.04891 1 0 live 73 ------- 0 1.1 0.1 -1 23
+ 3.04916 0 1 live 73 ------- 0 0.1 1.1 -1 24
+ 3.04939 1 0 live 76 ------- 0 1.1 0.1 -1 25
+ 3.0496 0 1 live 73 ------- 0 0.1 1.1 -1 26
+ 3.04983 1 0 live 68 ------- 0 1.1 0.1 -1 27
+ 3.05004 0 1 live 76 ------- 0 0.1 1.1 -1 28
+ 3.05026 1 0 live 85 ------- 0 1.1 0.1 -1 29
+ 3.05047 0 1 live 68 ------- 0 0.1 1.1 -1 30
+ 3.0507 1 0 live 77 ------- 0 1.1 0.1 -1 31
+ 3.05091 0 1 live 85 ------- 0 0.1 1.1 -1 32
+ 3.05114 1 0 live 87 ------- 0 1.1 0.1 -1 33
+ 3.05137 0 1 live 77 ------- 0 0.1 1.1 -1 34
+ 3.05161 1 0 live 93 ------- 0 1.1 0.1 -1 35
+ 3.05182 0 1 live 87 ------- 0 0.1 1.1 -1 36
[2000 more enqueue entries]