关于IEEE802.11e的内容就不多说了,直接开始移植工作。
之前的802.11e模块主要是在ns2.88上开发的,不能直接在ns2.35上使用,下面就给出移植的补丁。
根据我做的补丁对ns2.35进行修改,能够顺利运行,补丁内容如下:
diff -u -r ns-2.35-original/common/packet.h ns-2.35/common/packet.h
--- ns-2.35-original/common/packet.h 2010-05-10 06:28:41.000000000 +0800
+++ ns-2.35/common/packet.h 2013-08-09 10:21:44.493171279 +0800
@@ -69,6 +69,7 @@
#define HDR_CDIFF(p) (hdr_cdiff::access(p)) /* chalermak's diffusion*/
//#define HDR_DIFF(p) (hdr_diff::access(p)) /* SCADD's diffusion ported into ns */
#define HDR_LMS(p) (hdr_lms::access(p))
+#define HDR_MAC802_11E(p) ((hdr_mac802_11e *)hdr_mac::access(p))
/* --------------------------------------------------------------------*/
diff -u -r ns-2.35-original/mac/wireless-phy.h ns-2.35/mac/wireless-phy.h
--- ns-2.35-original/mac/wireless-phy.h 2007-01-30 13:00:50.000000000 +0800
+++ ns-2.35/mac/wireless-phy.h 2013-08-09 10:19:48.184594542 +0800
@@ -127,7 +127,7 @@
// Why phy has a node_ and this guy has it all over again??
// MobileNode* node_; // Mobile Node to which interface is attached .
- enum ChannelStatus { SLEEP, IDLE, RECV, SEND };
+ enum ChannelStatus { SLEEP,