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

Re: [ns] Problems with multicast (BST/etc.)



Sorry to triple send but I fixed the problem.  The actual data header was 
not in ns-packet.tcl so hence a write of the header field blew away what 
was in the ip header.  So, problem solved at least for now.

On a related note, would anyone be interested in me posting a howto page on 
the info that I found regarding adding a header field and working with 
multicast.  As it stands now, I've basically ripped out most of the tcl 
functionality and put it back into C++ with an almost entirely C++ based 
replication scheme for encapsulation-based multicast.  If you are 
interested, please let me know.

At 07:51 PM 5/8/2001 -0500, you wrote:
>I managed to fix the classifier problem (removed a bit of unnecessary code 
>making the dest address = the node, hence explaining the classifier 
>error).  However, I am now experiencing a new, much more difficult error 
>as the copy mechanism for the packet does not appear to work.
>
>if(pOutgoingLink != NULL)
>{
>   pOutgoingLink->recv(pPacket->copy());
>}
>
>However, although my packet makes it to the next node appropriately, it 
>has lost all semblance of a destination address or source address (always 
>-1).  Plus, the original pPacket object appears to get corrupted as well 
>due to this code.  This is the exact same code that I have for the control 
>tree replication which works 100% correct.  In fact, I just cut and paste 
>the code over to remove any changes that I made.  Anyone have any 
>experience working with the copy() function of the Packet object?  This 
>should work for all practical purposes as I've used this before and it 
>uses roughly the same principle as the replicator objects for multicast.
>
>If anyone could contact me that has done similar work or actually wrote 
>the multicast code for ns, that would be great.  Thanks
>
>Aaron
>
>At 05:57 PM 5/8/2001 -0500, you wrote:
>>I'm having several difficulties with the multicast portion of the ns 
>>code.  I am attempting to port the replication process over to C++ (which 
>>I have done crudely once for a different protocol) such that the 
>>replication process is based off of a header included in the C++ file 
>>such that I can avoid stateful information in the node.
>>
>>I have this all working successfully for control packets so I know my 
>>technique does work.  However, when I am trying to do this for the data 
>>packets, I get an no-slot handler message.  This occurs only when the 
>>packets are actually arrive at a node (i.e. it works for packets that are 
>>produced at a given node).  This behavior is extremely weird as I would 
>>expect the initial arrival at the node to cause a problem with a no-slot 
>>classifier.
>>
>>So here are my questions and perhaps someone can enlighten me:
>>
>>- How does a packet actually make it to the multicast classifier, 
>>specifically the control classifier and the data classifier?  I can get 
>>the packet to the control classifier (no problem) and to the data 
>>classifier (source node only) so what do I need to do to get it to my 
>>custom multicast classifier object?  It does arrive at my classifier 
>>object as a source so it appears to be some sort of linkage problem upon 
>>arriving at an incoming interface.
>>
>>- Do I need to install another agent or put on a replicator that responds 
>>to that group?  If so, how can I do that if I can't see the data packet 
>>in the first place to do anything.  Any suggestions on how to debug 
>>what/where things are going bad?
>>
>>- Finally, is there any way that someone who is working on the multicast 
>>internals could contact me?  I fear this question is a bit more technical 
>>than your average sort of questions for the users group.  Of course, I 
>>would like to be proven wrong on this point but if someone could e-mail 
>>me so I could go into more detail on this subject/help debug my problem, 
>>that would be great.
>>
>>--------------------------------------------
>>Aaron Striegel
>>Ph.D. Candidate, Computer Engineering
>>Iowa State University
>>http://www.public.iastate.edu/~magico
>