⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pim-mfc.tcl

📁 CBRP协议(移动adhoc中基于分簇的路由协议)ns2下的源码
💻 TCL
字号:
 # # tcl/pim/pim-mfc.tcl # # Copyright (C) 1997 by USC/ISI # All rights reserved.                                             #                                                                 # Redistribution and use in source and binary forms are permitted # provided that the above copyright notice and this paragraph are # duplicated in all such forms and that any documentation, advertising # materials, and other materials related to such distribution and use # acknowledge that the software was developed by the University of # Southern California, Information Sciences Institute.  The name of the # University may not be used to endorse or promote products derived from # this software without specific prior written permission. #  # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. #  # Contributed by Ahmed Helmy, Ported by Polly Huang (USC/ISI),  # http://www-scf.usc.edu/~bhuang #  #PIM instproc change-cache { srcID group code iif } {        $self instvar Node MRTArray messager ns        set oiflist [$self compute-oifs $MRTArray($srcID:$group)]        # exclude oifs leading back to the source        if { [lsearch -exact [$Node set neighbor_] [$ns set Node_($srcID)]] != -1 } {                set oifInfo [$Node get-oif [$ns set link_([$Node id]:$srcID)]]                set oif [lindex $oifInfo 1]                set oiflist [$self except-prunes $oiflist $oif]        }	switch $code {           "REG" {                #install the agent in the oiflist... as in reg_vif                                lappend oiflist [$MRTArray($srcID:$group) getRegAgent]                # XXX hack to make this work on lans... cuz we don't do                # igmp and interface routing... assume the src is single                # homed, and forward to the first oif if lan.. !!                set nbrs [$Node set neighbor_]                set firstNbr [lindex $nbrs 0]                set link [$ns set link_([$Node id]:[$firstNbr id])]                if { [$link info class] == "DummyLink" } {                   set alloifs [$Node get-oifs]                   if { [llength alloifs] > 1 } {                        puts "***WARNING: multihomed host"                   }                   lappend oiflist [lindex [$Node get-oif $link] 1]                }           }           "SG" {           }           # check other codes.. etc.. !!        }        $self add-cache $srcID $group        $Node add-mfc $srcID $group $iif $oiflist}PIM instproc add-cache { source group } {        $self instvar MRTArray cacheByGroup        $MRTArray($source:$group) setflags [PIM set CACHE]        if [info exists cacheByGroup($group)] {                 if { [lsearch -exact $cacheByGroup($group) $source] != -1 } {                        return 0                }          }        lappend cacheByGroup($group) $source}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -