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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mflood.cc

?? NS2中沒有集成MFLOOD模塊
?? CC
字號:
#include "mflood.h"

#include "mflood-packet.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.);

 }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片一区二区梦乃| 国产福利精品一区| 奇米色一区二区三区四区| 久久国产精品一区二区| 成人黄色大片在线观看| 欧美在线高清视频| 国产91在线观看| 在线成人av网站| 国产精品久久久一本精品| 亚洲成av人片一区二区梦乃| 国产成人av资源| 粉嫩嫩av羞羞动漫久久久| 欧美丝袜第三区| 中文字幕在线一区| 日本va欧美va瓶| 在线观看网站黄不卡| 久久久久久夜精品精品免费| 亚洲欧美电影一区二区| 另类综合日韩欧美亚洲| 精品视频999| 日韩一区欧美小说| 国产精品综合二区| 一本大道综合伊人精品热热| 精品电影一区二区三区| 亚洲成av人片在线观看| 99精品桃花视频在线观看| 精品成人在线观看| 日韩激情一二三区| 91九色02白丝porn| 国产精品视频观看| 韩国成人在线视频| 日韩亚洲欧美综合| 亚洲1区2区3区4区| 9191成人精品久久| 琪琪一区二区三区| 久久嫩草精品久久久精品一| 久久av资源网| 国产三级欧美三级日产三级99| 国产一区啦啦啦在线观看| 69p69国产精品| 久久综合综合久久综合| 亚洲精品一区二区三区蜜桃下载| 久久精品国产77777蜜臀| 欧美成人三级在线| 国产a久久麻豆| ㊣最新国产の精品bt伙计久久| 91理论电影在线观看| 亚洲国产精品一区二区www| 制服视频三区第一页精品| 日本欧美肥老太交大片| 2024国产精品| 91污片在线观看| 日韩制服丝袜av| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美一区二区三区四区五区| 日本三级韩国三级欧美三级| 丁香啪啪综合成人亚洲小说| 色综合久久中文综合久久97| 偷拍与自拍一区| 精品久久一二三区| 成人app在线观看| 亚洲午夜激情网站| 欧美大片在线观看一区二区| 成人aa视频在线观看| 亚洲亚洲人成综合网络| 精品国产乱码久久久久久浪潮| 高清不卡在线观看av| 亚洲午夜免费电影| 国产亚洲视频系列| 欧美日韩精品一区二区天天拍小说| 狠狠久久亚洲欧美| 一区二区三区在线观看欧美 | 日韩欧美国产综合一区 | 欧美久久久久久久久| 国产乱理伦片在线观看夜一区| 亚洲久草在线视频| 精品福利av导航| 在线精品国精品国产尤物884a| 韩国女主播一区二区三区| 亚洲国产你懂的| 国产精品麻豆欧美日韩ww| 日韩欧美的一区二区| 日本高清无吗v一区| 国产精品一区专区| 午夜欧美视频在线观看| 亚洲日本韩国一区| 久久久99免费| 日韩午夜激情电影| 欧美在线免费观看亚洲| av在线一区二区| 国产超碰在线一区| 久久9热精品视频| 日韩精品免费专区| 亚洲一区二区三区自拍| 国产精品不卡一区二区三区| 亚洲精品在线电影| 日韩免费电影网站| 欧美一区二区在线免费观看| 在线观看一区不卡| 91美女蜜桃在线| 不卡欧美aaaaa| 成人ar影院免费观看视频| 国产一区在线视频| 国产一区二区三区久久悠悠色av| 日产精品久久久久久久性色| 自拍av一区二区三区| 国产精品美女久久福利网站| 国产三级精品三级在线专区| 久久久久国色av免费看影院| 久久午夜羞羞影院免费观看| 日韩欧美一二三四区| 欧美一区二区大片| 日韩小视频在线观看专区| 欧美一区二区三区人| 在线成人av网站| 日韩色在线观看| 欧美成人激情免费网| 久久久五月婷婷| 中文字幕成人av| 国产精品看片你懂得| 最新国产の精品合集bt伙计| 亚洲欧美日韩国产手机在线| 亚洲精品久久7777| 亚洲图片欧美一区| 蜜桃在线一区二区三区| 国内一区二区视频| 成人国产视频在线观看| 成人教育av在线| 色婷婷综合久久| 欧美精选在线播放| 久久蜜桃av一区精品变态类天堂| 欧美精品一区二区久久久 | 日韩精品一区二区三区在线| 欧美成人国产一区二区| 国产午夜精品福利| 亚洲人妖av一区二区| 亚洲一区二区三区四区在线| 免费看黄色91| 国产v日产∨综合v精品视频| 91久久免费观看| 欧美电影精品一区二区| 中文字幕精品三区| 亚洲国产一区二区视频| 免费三级欧美电影| 99国产精品国产精品久久| 欧美日韩一区二区三区四区五区 | 欧美日韩日日摸| 久久女同精品一区二区| 亚洲欧美日韩国产手机在线 | 视频一区视频二区中文字幕| 国产一区二区三区免费| 日本久久一区二区三区| 欧美第一区第二区| 亚洲欧美激情插| 国产乱码精品1区2区3区| 91福利区一区二区三区| 久久综合999| 亚洲国产一区在线观看| 成人一级片在线观看| 欧美精品第1页| 亚洲日本丝袜连裤袜办公室| 久久99国产精品免费| 欧洲亚洲国产日韩| 欧美激情一区二区三区全黄| 三级在线观看一区二区| 91欧美一区二区| 久久精品亚洲精品国产欧美| 亚洲妇女屁股眼交7| 成人免费不卡视频| 欧美tk—视频vk| 亚洲一级二级在线| kk眼镜猥琐国模调教系列一区二区| 欧美久久久久免费| 一区二区三区中文字幕电影 | 欧美一级在线视频| 亚洲激情自拍视频| 99久久精品久久久久久清纯| 久久久综合视频| 欧美aaaaaa午夜精品| 欧美色涩在线第一页| 亚洲另类一区二区| 不卡的电影网站| 国产视频一区在线观看| 国产真实乱子伦精品视频| 欧美人狂配大交3d怪物一区| 亚洲靠逼com| 色婷婷精品久久二区二区蜜臀av| 国产精品久久久久影院色老大| 国产经典欧美精品| 欧美成人精品二区三区99精品| 奇米精品一区二区三区在线观看| 欧美三级蜜桃2在线观看| 亚洲精选视频在线| 91传媒视频在线播放| 亚洲视频在线观看三级| av高清久久久| 亚洲婷婷国产精品电影人久久| 91在线观看污| 一区二区三区免费看视频| 色婷婷精品久久二区二区蜜臂av|