def sprint_prefixes_db_full(prefix_db, loopback_only=False): """ given serialized prefixes output an array of lines representing those prefixes. IPV6 prefixes come before IPV4 prefixes. :prefix_db lsdb_types.PrefixDatabase: prefix database :loopback_only : is only loopback address expected :return [str]: the array of prefix strings """ prefix_strs = [] sorted_entries = sorted( sorted(prefix_db.prefixEntries, key=lambda x: x.prefix.prefixLength), key=lambda x: x.prefix.prefixAddress.addr, ) for prefix_entry in sorted_entries: if loopback_only and prefix_entry.type is not network_types.PrefixType.LOOPBACK: continue prefix_strs.append([ ipnetwork.sprint_prefix(prefix_entry.prefix), ipnetwork.sprint_prefix_type(prefix_entry.type), ipnetwork.sprint_prefix_forwarding_type( prefix_entry.forwardingType), ]) return printing.render_horizontal_table( prefix_strs, ["Prefix", "Client Type", "Forwarding Type"])
def run(self): resp = self.client.view_prefix() rows = [] for prefix_entry in resp.prefixes: prefix_str = ipnetwork.sprint_prefix(prefix_entry.prefix) prefix_type = ipnetwork.sprint_prefix_type(prefix_entry.type) rows.append((prefix_type, prefix_str)) print('\n', printing.render_horizontal_table(rows, ['Type', 'Prefix'])) print()
def _run(self, client: OpenrCtrl.Client) -> None: prefixes = client.getPrefixes() rows = [] for prefix_entry in prefixes: prefix_str = ipnetwork.sprint_prefix(prefix_entry.prefix) prefix_type = ipnetwork.sprint_prefix_type(prefix_entry.type) forwarding_type = ipnetwork.sprint_prefix_forwarding_type( prefix_entry.forwardingType) rows.append((prefix_type, prefix_str, forwarding_type)) print( "\n", printing.render_horizontal_table( rows, ["Type", "Prefix", "Forwarding Type"]), ) print()
def run(self): resp = self.client.view_prefix() rows = [] for prefix_entry in resp.prefixes: prefix_str = ipnetwork.sprint_prefix(prefix_entry.prefix) prefix_type = ipnetwork.sprint_prefix_type(prefix_entry.type) forwarding_type = ipnetwork.sprint_prefix_forwarding_type( prefix_entry.forwardingType) is_ephemeral_str = ipnetwork.sprint_prefix_is_ephemeral( prefix_entry) rows.append( (prefix_type, prefix_str, forwarding_type, is_ephemeral_str)) print( "\n", printing.render_horizontal_table( rows, ["Type", "Prefix", "Forwarding Type", "Ephemeral"]), ) print()