OMNeT ++ IEEE 802.1Q优先级

问题描述 投票:0回答:1

我正在尝试使用支持Ieee802.1q标记的交换机建立网络。我检查了inet中的示例,但它们仅对制作我现在了解的VLAN有用。我的问题是,在inet中创建的标准开关是否支持通过Ieee8021qHeader进行优先级排队,如果是,有人可以帮助我吗?

omnet++ inet
1个回答
0
投票

没有基于该字段的优先级排队的直接支持,但可以相对容易地完成:

检查inet.queueing包装。那里有很多排队,调度等相关内容。 (您也可以查看该教程:https://inet.omnetpp.org/docs/tutorials/queueing/doc/index.html

您需要部署inet.queueing.PacketQueue(请参阅NED文件中的文档)(或DropTailQueue(如果必须限制队列大小),这只是配置了丢弃策略的PacketQueue)

在C ++中实现IPacketComparatorFunction类以根据需要对数据包进行排序,然后将该类配置为comparatorClassPacketQueue参数。

EtherMac当前配置为使用EtherQueue作为队列模块,它是一个参数化为DropTailQueue的比较器,该比较器使用inet::EthernetFrameComparator优先于以太网暂停帧(请参见示例,如何创建比较器类)。

一旦基于VLAN标签实现了适当的比较器,就可以将自己的比较器配置为队列的comparatorClass参数。

© www.soinside.com 2019 - 2024. All rights reserved.