Inside my recv() function I do like this without problems:


        // clone the current packet and change some fields
        Packet* new_p = clone_pkt(p);
        
        hdr_ip    *new_iph      = hdr_ip::access(new_p);

        new_iph->daddr() = ...;
        new_iph->saddr() = addr();

        // change fields on the current packet
        iph->daddr() = id2iaddr(th->b_id);
        iph->saddr() = addr();


        // send original packet somewhere
        send(p, 0);

        // send cloned packet elsewhere
        send(new_p, 0);

...





> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
> Of Larry Brigman
> Sent: segunda-feira, 9 de Outubro de 2006 19:14
> To: ns-users@ISI.EDU
> Subject: [ns] sending packets
> 
> 
> I am working on a queuing model.  There are times that I need to
> send more than one packet in the recv function.
> 
> Because of the way NS models things it looks like after a single send or
> target->recv(p,h) I cannot send again without an error.
> 
> Is there a way to write a recv function that is allowed to send more than
> once?
> 
> Also when I am rescheduling my class to deque packets, about the time I
> need to
> deque two or more packets NS detects that time has gone backwards!
> 
> 
> I am running this on FC4 using 2.29 version of NS.
> 
> Thanks for any help provided.
> Larry



Reply via email to