- Timestamp:
- Oct 2, 2012 2:31:32 PM (12 years ago)
- Branches:
- master
- Children:
- 995ad61
- Parents:
- ab662b6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/deter/topdl.py
rab662b6 rc7a6a20 1078 1078 name = to_tcl_name(s.name or "sub%d" % idx) 1079 1079 1080 if len(s.interfaces) > 2: 1081 # Lan 1082 members = [ to_tcl_name("${%s}") % i.element.name \ 1083 for i in s.interfaces] 1084 out += 'set %s [$ns make-lan "%s" %fkb %fms ]\n' % \ 1085 (name, " ".join([to_tcl_name(m) for m in members]), 1086 rate, delay) 1087 if loss: 1088 "tb-set-lan-loss ${%s} %f\n" % (name, float(loss)) 1089 1090 for i in s.interfaces: 1091 e = i.element 1092 ip = i.get_attribute("ip4_address") 1093 if ip: 1094 out += "tb-set-ip-lan ${%s} ${%s} %s\n" % \ 1095 (to_tcl_name(e.name), name, ip) 1096 if i.capacity and i.capacity.rate != rate: 1097 out += "tb-set-node-lan-bandwidth ${%s} ${%s} %fkb\n" % \ 1098 (to_tcl_name(e.name), name, i.capacity.rate) 1099 if i.latency and i.latency.time != delay: 1100 out += "tb-set-node-lan-delay ${%s} ${%s} %fms\n" % \ 1101 (to_tcl_name(e.name), name, i.latency.time) 1102 iloss = i.get_attribute('loss') 1103 if loss and iloss != loss : 1104 out += "tb-set-node-lan-loss ${%s} ${%s} %f\n" % \ 1105 (to_tcl_name(e.name), name, float(loss)) 1106 out+= "\n" 1107 elif len(s.interfaces) == 2: 1108 f = s.interfaces[0] 1109 t = s.interfaces[1] 1110 1111 out += "set %s [$ns duplex-link ${%s} ${%s} %fkb %fms DropTail]\n" %\ 1112 (name, to_tcl_name(f.element.name), 1113 to_tcl_name(t.element.name), rate, delay) 1114 if loss: 1115 out += "tb-set-link-loss ${%s} %f\n" % (name, float(loss)) 1116 1117 for i in s.interfaces: 1118 lloss = i.get_attribute("loss") 1119 cap_override = i.capacity and \ 1120 i.capacity.rate != rate 1121 delay_override = i.latency and \ 1122 i.latency.time != delay 1123 loss_override = lloss and lloss != loss 1124 if cap_override or delay_override or loss_override: 1125 if i.capacity: cap = i.capacity.rate 1126 else: cap = rate 1127 1128 if i.latency: delay = i.latency.time 1129 1130 if lloss: loss = lloss 1131 else: loss = loss or 0.0 1132 1133 out += "tb-set-link-simplex-params ${%s} ${%s} %fms %fkb %f\n"\ 1134 % (name, to_tcl_name(i.element.name), 1135 delay, cap, loss) 1136 ip = i.get_attribute('ip4_address') 1137 if ip: 1138 out += "tb-set-ip-link ${%s} ${%s} %s\n" % \ 1139 (to_tcl_name(i.element.name), name, ip) 1140 out+= "\n" 1080 # Lan 1081 members = [ to_tcl_name("${%s}") % i.element.name \ 1082 for i in s.interfaces] 1083 out += 'set %s [$ns make-lan "%s" %fkb %fms ]\n' % \ 1084 (name, " ".join([to_tcl_name(m) for m in members]), 1085 rate, 2 * delay) 1086 if loss: 1087 "tb-set-lan-loss ${%s} %f\n" % (name, float(loss)) 1088 1089 for i in s.interfaces: 1090 e = i.element 1091 ip = i.get_attribute("ip4_address") 1092 if ip: 1093 out += "tb-set-ip-lan ${%s} ${%s} %s\n" % \ 1094 (to_tcl_name(e.name), name, ip) 1095 if i.capacity : 1096 out += "tb-set-node-lan-bandwidth ${%s} ${%s} %fkb\n" % \ 1097 (to_tcl_name(e.name), name, i.capacity.rate) 1098 if i.latency : 1099 out += "tb-set-node-lan-delay ${%s} ${%s} %fms\n" % \ 1100 (to_tcl_name(e.name), name, i.latency.time) 1101 iloss = i.get_attribute('loss') 1102 if loss and iloss != loss : 1103 out += "tb-set-node-lan-loss ${%s} ${%s} %f\n" % \ 1104 (to_tcl_name(e.name), name, float(loss)) 1105 out+= "\n" 1141 1106 for f in filters: 1142 1107 out+= f(s)
Note: See TracChangeset
for help on using the changeset viewer.