报错:替换了原先的aodv模块后,只要运行和aodv模块有关的代码就会出现如下错误。
分析:TxErrHeader被弃用,需要使用新的traceSource,例如NAckedMpdu trace和DroppedMpdu trace。
**解决方案:**将trace source的名字对应修改掉
解决思路:
1.找出现有aodv中和Tx traceSource有关的地方
一共有三处
.AddTraceSource ("Tx", "A new routing protocol packet is created and is sent", // trace
MakeTraceSourceAccessor (&RoutingProtocol::m_txTrace),
"ns3::Packet::TracedCallback")
AddTraceSource提供了用于连接到trace source 的钩子,可以使用Config系统连接到“外部世界”。
第一个参数是trace source 的名字,使其在Config系统中可见。
第二个参数是用于解释的帮助字符串。
第三个参数中的&RoutingProtocol::m_txTrace指明了一个被增加到该类中变量m_txTrace,它成为这个类的一个数据成员。
第四个参数表示TraceValue类型的typedef名称,它为正确的回调函数签名生成文档。
mac-