ns-mpls-simulator.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #
  2. #  Time-stamp: <2000-09-11 10:21:47 haoboy>
  3. #  Copyright (c) 1997 by the University of Southern California
  4. #  All rights reserved.
  5. #  This program is free software; you can redistribute it and/or
  6. #  modify it under the terms of the GNU General Public License,
  7. #  version 2, as published by the Free Software Foundation.
  8. #
  9. #  This program is distributed in the hope that it will be useful,
  10. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. #  GNU General Public License for more details.
  13. #
  14. #  You should have received a copy of the GNU General Public License along
  15. #  with this program; if not, write to the Free Software Foundation, Inc.,
  16. #  59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
  17. #
  18. #  The copyright of this module includes the following
  19. #  linking-with-specific-other-licenses addition:
  20. #
  21. #  In addition, as a special exception, the copyright holders of
  22. #  this module give you permission to combine (via static or
  23. #  dynamic linking) this module with free software programs or
  24. #  libraries that are released under the GNU LGPL and with code
  25. #  included in the standard release of ns-2 under the Apache 2.0
  26. #  license or under otherwise-compatible licenses with advertising
  27. #  requirements (or modified versions of such code, with unchanged
  28. #  license).  You may copy and distribute such a system following the
  29. #  terms of the GNU GPL for this module and the licenses of the
  30. #  other code concerned, provided that you include the source code of
  31. #  that other code when and as the GNU GPL requires distribution of
  32. #  source code.
  33. #
  34. #  Note that people who make modified versions of this module
  35. #  are not obligated to grant this special exception for their
  36. #  modified versions; it is their choice whether to do so.  The GNU
  37. #  General Public License gives permission to release a modified
  38. #  version without this exception; this exception also makes it
  39. #  possible to release a modified version which carries forward this
  40. #  exception.
  41. #  Original source contributed by Gaeil Ahn. See below.
  42. #
  43. #  $Header: /cvsroot/nsnam/ns-2/tcl/mpls/ns-mpls-simulator.tcl,v 1.3 2005/09/16 03:05:45 tomh Exp $
  44. ###########################################################################
  45. # Copyright (c) 2000 by Gaeil Ahn                                   #
  46. # Everyone is permitted to copy and distribute this software.   #
  47. # Please send mail to fog1@ce.cnu.ac.kr when you modify or distribute     #
  48. # this sources.   #
  49. ###########################################################################
  50. #############################################################
  51. #                                                           #
  52. #     File: File for Simulator class                        #
  53. #     Author: Gaeil Ahn (fog1@ce.cnu.ac.kr), Jan. 2000      #
  54. #                                                           #
  55. #############################################################
  56. Simulator instproc mpls-node args {
  57. $self node-config -MPLS ON
  58. set n [$self node]
  59. $self node-config -MPLS OFF
  60. return $n
  61. }
  62. Simulator instproc LDP-peer { src dst } {
  63. # Establish LDP-peering between node $src and $dst. The names src and
  64. # dst does NOT indicate a single-direction relationship.
  65.         if { ![$src is-neighbor $dst] } {
  66. return
  67. }
  68. set ldpsrc [[$src get-module "MPLS"] make-ldp]
  69. set ldpdst [[$dst get-module "MPLS"] make-ldp]
  70. $ldpsrc set-peer [$dst id]
  71. $ldpdst set-peer [$src id]
  72.         $self connect $ldpsrc $ldpdst
  73. }
  74. Simulator instproc ldp-notification-color {color} {
  75. $self color 101 $color
  76. }
  77. Simulator instproc ldp-request-color {color} {
  78. $self color 102 $color
  79. }
  80. Simulator instproc ldp-mapping-color {color} {
  81. $self color 103 $color
  82. }
  83. Simulator instproc ldp-withdraw-color {color} {
  84. $self color 104 $color
  85. }
  86. Simulator instproc ldp-release-color {color} {
  87. $self color 105 $color
  88. }
  89. ### Local Variables:
  90. ### mode: tcl
  91. ### tcl-indent-level: 8
  92. ### tcl-default-application: ns
  93. ### End: