Beispiel #1
0
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"])
Beispiel #2
0
 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()
Beispiel #3
0
 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()
Beispiel #4
0
 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()