summaryrefslogtreecommitdiffstats
path: root/app/discover/fetchers/cli/cli_fetch_vservice_vnics.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/discover/fetchers/cli/cli_fetch_vservice_vnics.py')
-rw-r--r--app/discover/fetchers/cli/cli_fetch_vservice_vnics.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/discover/fetchers/cli/cli_fetch_vservice_vnics.py b/app/discover/fetchers/cli/cli_fetch_vservice_vnics.py
index 2e074f8..3bc3a5b 100644
--- a/app/discover/fetchers/cli/cli_fetch_vservice_vnics.py
+++ b/app/discover/fetchers/cli/cli_fetch_vservice_vnics.py
@@ -21,7 +21,7 @@ class CliFetchVserviceVnics(CliAccess):
self.regexps = [
{'name': 'mac_address', 're': '^.*\slink/ether\s(\S+)\s'},
{'name': 'IP Address', 're': '^\s*inet ([0-9.]+)/'},
- {'name': 'netmask', 're': '^.*\slink/ether\s[^/]+/(\S+)'},
+ {'name': 'netmask', 're': '^\s*inet [0-9.]+/([0-9]+)'},
{'name': 'IPv6 Address',
're': '^\s*inet6 ([^/]+)/.* global '}
]
@@ -138,6 +138,8 @@ class CliFetchVserviceVnics(CliAccess):
@staticmethod
def convert_netmask(cidr):
netmask_conversion = {
+ '32': '255.255.255.255',
+ '31': '255.255.255.254',
'30': '255.255.255.252',
'29': '255.255.255.248',
'28': '255.255.255.240',
@@ -152,7 +154,23 @@ class CliFetchVserviceVnics(CliAccess):
'19': '255.255.224.0',
'18': '255.255.192.0',
'17': '255.255.128.0',
- '16': '255.255.0.0'
+ '16': '255.255.0.0',
+ '15': '255.254.0.0',
+ '14': '255.252.0.0',
+ '13': '255.248.0.0',
+ '12': '255.240.0.0',
+ '11': '255.224.0.0',
+ '10': '255.192.0.0',
+ '9': '255.128.0.0',
+ '8': '255.0.0.0',
+ '7': '254.0.0.0',
+ '6': '252.0.0.0',
+ '5': '248.0.0.0',
+ '4': '240.0.0.0',
+ '3': '224.0.0.0',
+ '2': '192.0.0.0',
+ '1': '128.0.0.0',
+ '0': '0.0.0.0'
}
if cidr not in netmask_conversion:
raise ValueError('can''t convert to netmask: {}'.format(cidr))