Search code examples
omnet++veins

Unicast Communication in Veins


Does Veins support 802.11p unicast communication?

I checked the source code of the class "Mac1609_4" in Veins framework. Referring to the following snippet of the code:

WaveShortMessage*  wsm =  dynamic_cast<WaveShortMessage*>(macPkt-> decapsulate());

long dest = macPkt->getDestAddr();

DBG_MAC << "Received frame name= " << macPkt->getName()
        << ", myState=" << " src=" << macPkt->getSrcAddr()
        << " dst=" << macPkt->getDestAddr() << " myAddr="
        << myMacAddress << std::endl;

if (macPkt->getDestAddr() == myMacAddress) {
    DBG_MAC << "Received a data packet addressed to me." << std::endl;
    statsReceivedPackets++;
    sendUp(wsm);
}

It seems that the implemented MAC layer can receive unicast packet but I couldn't find any method for sending MAC layer acknowledgements that are required in unicast communication. Any suggestions please?

There is also a publication by Christoph Sommer et al. that unicast communication is considered harmful in 802.11p. Is it true that because of the reasons mentioned in the paper, Veins framework doesn't support unicast communication?


Solution

  • Veins framework does not support unicast transmissions. In Section IIIC of the publication here it has been reported that MAC layer of Veins was extended to support unicast transmissions, this means the official release does not include this functionality.

    The paper was published in 2015 while the latest release of Veins 4.3 came last month. Since there is nothing mentioned about unicast transmissions in the "Changelog" of the latest release, it implies that unicast transmissions are still not supported.