Dear friends,

look at the following code , extracted from the file wireless-phy.cc  :

        if(propagation_) {
                s.stamp((MobileNode*)node(), ant_, 0, lambda_);
                Pr = propagation_->Pr(&p->txinfo_, &s, this);
                if (Pr < CSThresh_) { // This is the sensitivity of the 
wireless card
                        pkt_recvd = 0;
                        goto DONE;
                }
                if (Pr < RXThresh_) {
                        /*
                         * We can detect, but not successfully receive
                         * this packet.
                         */
                        hdr_cmn *hdr = HDR_CMN(p);
                        hdr->error() = 1;
                }
        }

One question about RXThresh_:
if CSThresh_ < Pr < RXThresh_ we have that:
A. pkt_recvd = 1 (the packet will be sent to the MAC Layer - thank you 
again, Joshua :-) )
B: the packet is marked with hdr->error() = 1 .
In the case Pr > RXThresh_ we will have that:
A. pkt_recvd = 1 (the packet will be sent to the MAC Layer)
B. hdr->error() is untouched, it is equal to 0

So, the only difference introduced in the status of the packet by the 
RXThreshold is the flag 0/1 in the common header field.

What I haven't understood is how MAC treats the above different kind of 
packets.
It seems that at MAC level no difference is done between packet with 
hdr->error() = 0 and hdr->error() = 1.
My guess is that once again the solution is in some inherited classes... but 
I really cannot see where...

I hope you can give me some hints.

Regards,

Pasquale

_________________________________________________________________
MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/

Reply via email to