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

snoop and version ns-2.1b6-current




We are trying to get snoop running on ns-2.1b6-current
(I picked up this version yesterday).  We have made the following
changes to snoop.tcl:

(1)

set opt(mac)	Mac/Csma/Ca ==> set opt(mac)	Mac/802_11

(2) in proc add-error:

set nif $lanIface_([$dst id]) ==>

	set nif $lanIface_($dst)



When we run this version, we get the following error message:

ns snoop.tcl -e 0.2 -eu time -stop 20 -ll LLSnoop -r

    (_o45 cmd line 1)
    invoked from within
"_o45 cmd target"
    invoked from within
"catch "$self cmd $args" ret"
    (procedure "_o45" line 2)
    (SplitObject unknown line 2)
    invoked from within
"$mac_ target"
    (procedure "_o42" line 3)
    (LanIface add-receive-filter line 3)
    invoked from within
"$nif add-receive-filter $filter"
    (procedure "add-error" line 6)
    invoked from within
"add-error $lan $src $dst $e1"
    (procedure "create-error" line 25)
    invoked from within"create-error $lan $node(0) $dstlist $opt(em) $opt(e)  $opt(eu) $opt(trans)"
    invoked from within
"if { [info exists opt(e)] } {
        if { $opt(e) == 0 || $opt(e) == "" } {
                puts "error rate 0 ==> no errors"
        } else {
                if { [info exists opt(www)] } {
..."
    (file "snoop.tcl" line 402)


The problem appears to be that $mac_ does not have a target
command/method.  We examined the code and indeed Mac/802_11
does not have a target method in its hierarchy.  It does
have an "up-target" and a "down-target."  Replacing "target"
in LanIface add-receive-filter with either "up-target" or
"down-target" yields identical trace files.  

It seems the problem is that we have a BiConnector
where a connector is expected.  Can someone explain
what is going on here and how to fix it, please?

			Thanks,
			Anne Rogers
			Kathleen Fisher