路由层获取队列长度(不通过MAC)

在不通过MAC层的情况下,本文介绍了如何在Ubuntu 14.04和ns2.35环境下,从路由层直接获取LL层的队列长度信息。通过修改ll.h、路由层相关cc文件并配置tcl文件,实现使用Queue::length()函数获取队列长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NS2——`路由层获取队列长度(不通过MAC)`

背景

环境:ubuntu版本:14.04;ns版本:ns2.35
因为我只使用路由层,对MAC层不做任何修改,网上能找到的资料都是路由层获取MAC层的信息,然后MAC和LL层绑定,所以参考着直接在路由层直接获取LL层的队列长度信息。

操作步骤

  1. ll.h里面,
Queue* ifq_;	//interface queue

可以看到给我们留了可以使用的接口,所以在tcl文件里面可以把它和节点的路由层连接起来。
2. 首先需要在路由层里面定义一下Queue,使用的哪个路由协议,就在相应的类里面添加。当然还需要添加头文件。

#include "queue/queue.h"
lnline Queue *queue(){return queueinfo;}
Queue *queueinfo;
  1. 在相应类的cc文件里面,修改command函数,在else if(argc==3)的判断里面添加
else if(strcmp(argv[1], "queue")==0){
	queueinfo = (Queue*)TclObject::lookup(argv[2]);
	if(queueinfo == 0)
		return
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值