1、在ns-2.x目录下创建协议名(CTAgg)目录,此目录中包含CTAgg.h CTAgg.cc CTAgg_pkt.h CTAgg_rtable.h CTAgg_rtable.cc五个文件。
2、撰写CTAgg_pkt.h,对数据包类型进行声明(修改common/pakcet.h文件中的枚举类型packet_t和类p_info)。绑定包头到TCL接口。
3、撰写CTAgg.h。
4、撰写CTAgg.cc。
5、撰写CTAgg_rtable.h。操作路由表函数的声明。
6、撰写CTAgg_rtable.cc。操作路由表函数的实现。
7、跟踪支持,修改trace/cmu-trace.h和trace/cmu-trace.cc。
在CMUTrace类中实现void format_CTAgg(Packet *p, int offset)函数,需要加入#include 。
8、修改TCL库,tcl/lib/ns-packet.tcl中的foreach prot{}
tcl/lib/ns-default.tcl中添加Agent/Protoname set accessible_var_ true
tcl/lib/ns-lib.tcl中的create-wireless-node函数中添加
Protoname {
set ragent [$self create-CTAgg-agent $node]
}
tcl/lib/ns-lib.tcl中添加函数create-CTAgg-agent
9、修改队列优先级,修改queue/priqueue.cc中的recv()函数。
10、修改Makefile。
阅读(2962) | 评论(1) | 转发(0) |