git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'nocomponent' into geni-v3
[sfa.git]
/
sfa
/
planetlab
/
vlink.py
diff --git
a/sfa/planetlab/vlink.py
b/sfa/planetlab/vlink.py
index
625963d
..
75c19ce
100644
(file)
--- a/
sfa/planetlab/vlink.py
+++ b/
sfa/planetlab/vlink.py
@@
-12,20
+12,20
@@
suffixes = {
"bit": 1,
"kibit": 1024,
"kbit": 1000,
"bit": 1,
"kibit": 1024,
"kbit": 1000,
- "mibit": 1024
*
1024,
+ "mibit": 1024
*
1024,
"mbit": 1000000,
"mbit": 1000000,
- "gibit": 1024
*1024*
1024,
+ "gibit": 1024
* 1024 *
1024,
"gbit": 1000000000,
"gbit": 1000000000,
- "tibit": 1024
*1024*1024*
1024,
+ "tibit": 1024
* 1024 * 1024 *
1024,
"tbit": 1000000000000,
"bps": 8,
"tbit": 1000000000000,
"bps": 8,
- "kibps": 8
*
1024,
+ "kibps": 8
*
1024,
"kbps": 8000,
"kbps": 8000,
- "mibps": 8
*1024*
1024,
+ "mibps": 8
* 1024 *
1024,
"mbps": 8000000,
"mbps": 8000000,
- "gibps": 8
*1024*1024*
1024,
+ "gibps": 8
* 1024 * 1024 *
1024,
"gbps": 8000000000,
"gbps": 8000000000,
- "tibps": 8
*1024*1024*1024*
1024,
+ "tibps": 8
* 1024 * 1024 * 1024 *
1024,
"tbps": 8000000000000
}
"tbps": 8000000000000
}
@@
-41,11
+41,12
@@
def get_tc_rate(s):
if m is None:
return -1
suffix = m.group(2).lower()
if m is None:
return -1
suffix = m.group(2).lower()
- if suffix
es.has_key(suffix)
:
+ if suffix
in suffixes
:
return int(float(m.group(1)) * suffixes[suffix])
else:
return -1
return int(float(m.group(1)) * suffixes[suffix])
else:
return -1
+
def format_tc_rate(rate):
"""
Formats a bits/second rate into a tc rate string
def format_tc_rate(rate):
"""
Formats a bits/second rate into a tc rate string
@@
-60,13
+61,15
@@
def format_tc_rate(rate):
else:
return "%.0fbit" % rate
else:
return "%.0fbit" % rate
+
class VLink:
class VLink:
+
@staticmethod
def get_link_id(if1, if2):
if if1['id'] < if2['id']:
@staticmethod
def get_link_id(if1, if2):
if if1['id'] < if2['id']:
- link = (if1['id']
<<
7) + if2['id']
+ link = (if1['id']
<<
7) + if2['id']
else:
else:
- link = (if2['id']
<<
7) + if1['id']
+ link = (if2['id']
<<
7) + if1['id']
return link
@staticmethod
return link
@staticmethod
@@
-82,14
+85,14
@@
class VLink:
link_id = VLink.get_link_id(if1, if2)
iface_id = VLink.get_iface_id(if1, if2)
first = link_id >> 6
link_id = VLink.get_link_id(if1, if2)
iface_id = VLink.get_iface_id(if1, if2)
first = link_id >> 6
- second = ((link_id & 0x3f)
<<
2) + iface_id
+ second = ((link_id & 0x3f)
<<
2) + iface_id
return "192.168.%d.%s" % (first, second)
@staticmethod
def get_virt_net(link):
link_id = VLink.get_link_id(link['interface1'], link['interface2'])
first = link_id >> 6
return "192.168.%d.%s" % (first, second)
@staticmethod
def get_virt_net(link):
link_id = VLink.get_link_id(link['interface1'], link['interface2'])
first = link_id >> 6
- second = (link_id & 0x3f)
<<
2
+ second = (link_id & 0x3f)
<<
2
return "192.168.%d.%d/30" % (first, second)
@staticmethod
return "192.168.%d.%d/30" % (first, second)
@staticmethod
@@
-99,7
+102,6
@@
class VLink:
node_id = int(node.replace("node", ""))
return node_id
node_id = int(node.replace("node", ""))
return node_id
-
@staticmethod
def get_topo_rspec(link, ipaddr):
link['interface1']['id'] = VLink.get_interface_id(link['interface1'])
@staticmethod
def get_topo_rspec(link, ipaddr):
link['interface1']['id'] = VLink.get_interface_id(link['interface1'])
@@
-110,6
+112,6
@@
class VLink:
bw = format_tc_rate(long(link['capacity']))
return (link['interface2']['id'], ipaddr, bw, my_ip, remote_ip, net)
bw = format_tc_rate(long(link['capacity']))
return (link['interface2']['id'], ipaddr, bw, my_ip, remote_ip, net)
- @staticmethod
+ @staticmethod
def topo_rspec_to_link(topo_rspec):
def topo_rspec_to_link(topo_rspec):
- pass
+ pass