1
0
Fork 0
mirror of https://github.com/NeoCloud/NeoNetwork synced 2024-11-22 18:00:41 +08:00

roa.py: add Address Space Usage

This commit is contained in:
JerryXiao 2020-11-25 18:04:35 +08:00
parent 8bd7c26200
commit 7ea0ae34f0
Signed by: Jerry
GPG key ID: 9D9CE43650FF2BAA

View file

@ -339,6 +339,22 @@ def make_summary():
for prefix in prefixes: for prefix in prefixes:
print(prefix) print(prefix)
print("```") print("```")
IP_VRSIONS = {4, 6}
used_ip_count = {ver: sum([ip_network(str(prefix)).num_addresses for prefix in prefixes if prefix.version == ver]) for ver in IP_VRSIONS}
total_ip_count = {ver: sum([prefix.num_addresses for prefix in NEO_NETWORK_POOL if prefix.version == ver]) for ver in IP_VRSIONS}
print()
print("## Address Space Usage")
print()
address_space_usage_table = tabulate(
(
(f"IPv{ver}", f"{(u:=used_ip_count.get(ver)):.5g}", f"{(t:=total_ip_count.get(ver)):.5g}", f"{t-u:.5g}", f"{u/t*100:.2f}%", f"{(t-u)/t*100:.2f}%")
for ver in IP_VRSIONS
),
headers=["IP Version", "Total", "Used", "Free", "Percent Used", "Percent Free"],
tablefmt="github",
disable_numparse=True
)
print(address_space_usage_table)
return stream.getvalue() return stream.getvalue()