Search code examples
omnet++waveqosveins

Veins(Omnet++) WAVE packet priority mapping to EDCA(Enhanced Distributed Channel Access)


When creating WaveShortMessage or (wsm) in Veins, there is a priority field that needs to be specified for each packet. The priority levels that can be used are 0-3. Also based on this paper WAVE uses EDCA as MAC layer protocol. EDCA has four different Access Categories (AC) or queues. These queues are used to prioritize outgoing packets. My questions are:

  1. In WSM, does 0 have the highest priority or lowest priority?
  2. How does WSM packet priorities map to EDCA access categories? Or does it map at all? If not, then is there any way in Veins, where I could assign packets to specific access category in EDCA?

Solution

  • In Veins 4a2, assignment of packets from upper layers to EDCA queues is done in the MAC's handleUpperMsg function, which calls mapPriority. This function performs the following straightforward assignment:

    case 0: return AC_BK;
    case 1: return AC_BE;
    case 2: return AC_VI;
    case 3: return AC_VO;