[Ns-bugs] [Bug 637] New: Tags with UDP cause Assert failure with Virtual-net-devices

code@nsnam.ece.gatech.edu code at nsnam.ece.gatech.edu
Mon Jul 13 06:30:35 PDT 2009


http://www.nsnam.org/bugzilla/show_bug.cgi?id=637

           Summary: Tags with UDP cause Assert failure with Virtual-net-
                    devices
           Product: ns-3
           Version: ns-3-dev
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P5
         Component: routing
        AssignedTo: ns-bugs at isi.edu
        ReportedBy: zarhan at cc.hut.fi
   Estimated Hours: 0.0


If I have a scenario where I have

LAN #1
| 
|
Router
| Virtual-net-device
|
{Cloud}
|
| Virtual-net-device #1
Central Router 
| Virtual-net-device #2
|
{Cloud}
|
| Virtual-net-device
Router
|
|
LAN #2

and have set up routing so that packets from hosts in LAN #1 are sent via the
tunnels (Central router has LAN#1 reachable via Virtual-Net-Device #1, LAN #2
via Virtual-Net-Device #2), and then send Udp traffic (Simply using
Udp-echo-client and server) from one LAN to other, the simulator fails with

UdpSocketImpl:ForwardUp(0x89bcc58, 0x89ba3b8, 172.22.30.254, 49153)
Packet:AddPacketTag(0x89ba3b8, ns3::SocketAddressTag, 8)
PacketTagList:Add(0x89ba3d8, ns3::SocketAddressTag)
assert failed. file=../src/common/packet-tag-list.cc, line=139, cond="cur->tid
!= tag.GetInstanceTypeId ()"

when first UDP packet reaches the far-end-router.

It seems that when the inner packet is momentarily popped at the Central Router
something weird happens with tags - the test condition is that some tag is
already in.

My temporary fix for this was to change the NS_ASSERT to a if () { return; }
and so far my simulation is working as expected - maybe some tags were added at
the central node and the endpoint is not expecting them to exist. 

I can try cooking up a simpler test script than what I have brewing (should be
possible to adapt virtual-net-device example to include a bit of routing so
that the central node would simply send stuff back into the tunnel), but this
might take a while.


-- 
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Ns-bugs mailing list