亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mflood.cc

?? mflood泛紅
?? CC
字號:
#include <mflood/mflood.h>
#include <mflood/mflood-packet.h>
//#include <mflood.h>
#include <random.h>
#include <cmu-trace.h>
//#include <iostream>

// New packet type
int hdr_mflood::offset_;
static class MFloodHeaderClass : public PacketHeaderClass {
public:
	MFloodHeaderClass() : PacketHeaderClass("PacketHeader/MFlood", 
					      sizeof(hdr_mflood)) {
		bind_offset(&hdr_mflood::offset_);
	}
} class_mfloodhdr;

// TCL Hooks
static class MFloodclass : public TclClass {
public:
	MFloodclass() : TclClass("Agent/MFlood") {}
	TclObject* create(int argc, const char*const* argv) {
		assert(argc == 5);
		return (new MFlood((nsaddr_t) atoi(argv[4])));	// PBO agrv[4] is index_}
	}
} class_rtProtoMFlood;


int
MFlood::command(int argc, const char*const* argv) {
	Tcl& tcl = Tcl::instance();
	if(argc == 2) {		
		if(strncasecmp(argv[1], "id", 2) == 0) {
			tcl.resultf("%d", index_);
			return TCL_OK;
		}
		else if (strcmp(argv[1], "uptarget") == 0) {
			if (uptarget_ != 0)
				tcl.result(uptarget_->name());
			return (TCL_OK);
		}
	} else if(argc == 3) {
		if(strcmp(argv[1], "index_") == 0) {
			index_ = atoi(argv[2]);
			return TCL_OK;
		} else if(strcmp(argv[1], "log-target") == 0 || strcmp(argv[1], "tracetarget") == 0) {
			logtarget = (Trace*) TclObject::lookup(argv[2]);
			if(logtarget == 0) return TCL_ERROR;
			return TCL_OK;
		}
		else if (strcmp(argv[1], "uptarget") == 0) {
			if (*argv[2] == '0') {
				target_ = 0;
				return (TCL_OK);
			}
			uptarget_ = (NsObject*)TclObject::lookup(argv[2]);
			if (uptarget_ == 0) {
				tcl.resultf("no such object %s", argv[2]);
				return (TCL_ERROR);
			}
			return (TCL_OK);
		}
	else if (strcasecmp (argv[1], "port-dmux") == 0) {
           		TclObject *obj;
            		port_dmux_ = (NsObject *) obj;
            		return TCL_OK;
  		}  	
	}
	return Agent::command(argc, argv);
}

MFlood::MFlood(nsaddr_t id) : Agent(PT_MFLOOD), port_dmux_(0) {
	index_ = id;
	logtarget = 0;
	myseq_ = 0;
}


// Route Handling Functions
void
MFlood::rt_resolve(Packet *p) {
	struct hdr_cmn *ch = HDR_CMN(p);
	struct hdr_ip *ih = HDR_IP(p);
	struct hdr_mflood *fh = HDR_MFLOOD(p);
	MFlood_RTEntry* rt;

	rt = rtable_.rt_lookup(ih->saddr());
	if(rt == NULL) {
		rt = new MFlood_RTEntry(ih->saddr(), fh->seq_);

		LIST_INSERT_HEAD(&rtable_.rthead,rt,rt_link);		
	
		//printf("%.8f %d,no uptarget,\n",NOW_,index_);
		forward(rt,p,FORWARD_DELAY);
		
//printf("%.8f %d,no rt,so forward.rt_seq:%d,pkt seq:%d\n",NOW_,index_,rt->max_seqno,fh->seq_);
rtable_.rt_print();		
		
	}
//	else if(rt->seq_ < fh->seq_ )
	else if(rt->isNewSeq(fh->seq_) )
	{
		//printf("%.8f %d,no uptarget,\n",NOW_,index_);
		forward(rt, p, FORWARD_DELAY);
		
//		rt->seq_ = fh->seq_;
		rt->addSeq(fh->seq_);

//printf("%.8f %d,rt seq too small,so forward,rt_seq:%d,packet seq:%d.\n",NOW_,index_,rt->max_seqno,fh->seq_);	
rtable_.rt_print();		
	}
	else
	{
		drop(p, "LOWSEQ");
	}
}


// Packet Reception Routines
void
MFlood::recv(Packet *p, Handler*) {
	struct hdr_cmn *ch = HDR_CMN(p);
	struct hdr_ip *ih = HDR_IP(p);
	struct hdr_mflood *fh = HDR_MFLOOD(p);
	assert(initialized());

	if((ih->saddr() == index_) && (ch->num_forwards() == 0)) {	// Must be a packet I'm originating...		
		ch->size() += IP_HDR_LEN;		// Add the IP Header
		ih->ttl_ = NETWORK_DIAMETER;
		fh->seq_ = myseq_++;			
		forward((MFlood_RTEntry*)1,p,0);		
		return;
	} else if(ih->saddr() == index_) {	// I received a packet that I sent.  Probably a routing loop.
		drop(p, DROP_RTR_ROUTE_LOOP);
		return;
	} else {		// Packet I'm forwarding...
		if(--ih->ttl_ == 0) {	// Check the TTL.  If it is zero, then discard.
			drop(p, DROP_RTR_TTL);
	 		return;
		}
	}

	rt_resolve(p);
}


// Packet Transmission Routines
void
MFlood::forward(MFlood_RTEntry* rt, Packet *p, double delay) {
	struct hdr_cmn *ch = HDR_CMN(p);
	struct hdr_ip *ih = HDR_IP(p);

	assert(ih->ttl_ > 0);
	assert(rt != 0);
//	assert(rt->rt_flags == RTF_UP);
	ch->next_hop_ = -1;	//Broadcast address
	ch->addr_type() = NS_AF_INET;
	ch->direction() = hdr_cmn::DOWN;       //important: change the packet's direction
	if(delay > 0.0) {
 		Scheduler::instance().schedule(target_, p, Random::uniform(delay*2));
	} else {		// Not a broadcast packet, no delay, send immediately
 		Scheduler::instance().schedule(target_, p, 0.);
	}
}



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精选在线观看| 99精品视频免费在线观看| 91麻豆精品国产综合久久久久久 | 久久 天天综合| 欧美一区二区播放| 国产一区 二区| 国产精品人妖ts系列视频| 色综合天天性综合| 亚洲自拍欧美精品| 91精品国产综合久久精品app| 人人超碰91尤物精品国产| 亚洲精品一区二区三区99| 久久99精品一区二区三区| 国产清纯在线一区二区www| 成人高清伦理免费影院在线观看| 亚洲黄色在线视频| 91精品久久久久久蜜臀| 99久久伊人久久99| 一级做a爱片久久| 日韩欧美一区二区免费| 成人性生交大片免费看中文| 一区av在线播放| 欧美精品一区二区高清在线观看| 成人精品国产免费网站| 亚洲成人av中文| 欧美国产精品久久| 3atv一区二区三区| av不卡免费电影| 美女视频黄 久久| 亚洲三级在线免费| 日韩欧美黄色影院| 97se亚洲国产综合自在线不卡| 亚洲成a人片在线不卡一二三区| 久久中文字幕电影| 欧美亚洲高清一区| 国产成人午夜电影网| 亚洲电影一区二区| 国产精品久久久久久久久晋中 | 欧美性生活一区| 国产一区二区三区| 亚洲成人福利片| 国产精品色哟哟| 久久综合狠狠综合久久综合88| 色美美综合视频| 国产成人综合网站| 日韩电影一二三区| 一区二区在线观看免费| 久久久99免费| 欧美一级欧美三级| 欧美美女bb生活片| 在线看一区二区| 99riav久久精品riav| 国产精品18久久久久| 午夜精品一区二区三区电影天堂 | 欧美高清在线一区| 精品少妇一区二区三区视频免付费| 色8久久人人97超碰香蕉987| 国产成人精品影视| 精品一区二区三区蜜桃| 免费看日韩精品| 午夜激情综合网| 亚洲一区二区高清| 亚洲一区在线观看免费观看电影高清| 国产精品福利电影一区二区三区四区| 久久免费看少妇高潮| 精品久久久久一区| 日韩欧美一级在线播放| 欧美美女视频在线观看| 精品视频123区在线观看| 在线观看成人小视频| 日本韩国精品一区二区在线观看| 99这里只有久久精品视频| 粉嫩aⅴ一区二区三区四区五区 | 日韩在线一区二区| 图片区日韩欧美亚洲| 一区二区三区精品| 一区二区三区在线观看动漫| 亚洲精品乱码久久久久| 亚洲一区二区中文在线| 午夜久久久久久| 日本欧美加勒比视频| 日本美女视频一区二区| 蜜臀国产一区二区三区在线播放 | 国产性色一区二区| 中文字幕av在线一区二区三区| 国产欧美日韩综合精品一区二区| 久久久www免费人成精品| 中文欧美字幕免费| 一区精品在线播放| 亚洲精品精品亚洲| 亚洲一区成人在线| 日本不卡一区二区| 精品亚洲欧美一区| 成人午夜精品在线| 99免费精品视频| 欧美二区三区91| 精品噜噜噜噜久久久久久久久试看| 精品国产一区二区三区四区四| 欧美精品一区二区三区很污很色的| 精品三级av在线| 成人欧美一区二区三区黑人麻豆| 樱花草国产18久久久久| 日韩**一区毛片| 国产精品一区二区在线观看不卡| 成人美女在线观看| 欧美精三区欧美精三区 | 欧美精品一区二区三区四区| 久久久99精品久久| 亚洲一区二区视频| 久久97超碰国产精品超碰| 成人午夜电影小说| 欧美优质美女网站| 欧美成人女星排行榜| 国产精品久久久久久久久免费相片 | 不卡欧美aaaaa| 欧美日韩高清一区二区三区| 欧美精品一区二区三区四区| 亚洲欧美视频在线观看| 麻豆成人在线观看| 91在线视频观看| 日韩欧美另类在线| 亚洲精品国产无套在线观| 欧美aaa在线| 色婷婷综合久久| 久久综合九色综合97婷婷| 亚洲综合色视频| 大白屁股一区二区视频| 7777精品伊人久久久大香线蕉最新版| 久久久激情视频| 日韩1区2区3区| 色狠狠色狠狠综合| 久久久综合精品| 舔着乳尖日韩一区| 99久久精品国产一区| www国产成人免费观看视频 深夜成人网| 亚洲美女电影在线| 国产成人精品免费视频网站| 91精品国产色综合久久不卡蜜臀| 亚洲欧美乱综合| 国产二区国产一区在线观看| 91精品免费观看| 亚洲一二三四在线| 99久久精品情趣| 国产三级久久久| 九色porny丨国产精品| 在线成人免费视频| 一区二区三区国产精品| eeuss鲁片一区二区三区在线看| 日韩欧美中文字幕精品| 亚洲国产综合人成综合网站| 色综合久久中文字幕| 亚洲国产精品av| 国产精品一区不卡| 久久久影院官网| 国产精品综合在线视频| 欧美www视频| 精品一区精品二区高清| 日韩欧美第一区| 久99久精品视频免费观看| 精品视频一区二区不卡| 亚洲另类在线视频| 91视视频在线观看入口直接观看www | 久久影院电视剧免费观看| 男男视频亚洲欧美| 欧美日韩精品三区| 亚洲在线成人精品| 91一区二区三区在线播放| 国产精品网曝门| 成人黄色av网站在线| 国产精品免费丝袜| 不卡视频在线观看| 亚洲日本电影在线| 91搞黄在线观看| 肉丝袜脚交视频一区二区| 91精品免费观看| 国产在线播放一区三区四| 久久色视频免费观看| 国产精品自拍三区| 国产精品天干天干在线综合| 99久久婷婷国产综合精品| 亚洲综合成人在线| 欧美乱熟臀69xxxxxx| 奇米影视一区二区三区| 日韩欧美一级片| 粉嫩嫩av羞羞动漫久久久 | 亚洲国产成人tv| 欧美一区二区视频免费观看| 日韩电影在线观看电影| 久久久国产精品午夜一区ai换脸| 不卡的电影网站| 亚洲超碰97人人做人人爱| 日韩视频一区在线观看| 国产成人精品一区二区三区四区| 亚洲欧洲av色图| 7777精品伊人久久久大香线蕉超级流畅| 日韩高清一级片| 国产欧美日韩另类视频免费观看| 一本大道久久a久久综合| 日本在线不卡视频一二三区| 久久久不卡网国产精品二区|