diff options
Diffstat (limited to 'resources')
-rw-r--r-- | resources/libraries/python/NAT.py | 13 | ||||
-rw-r--r-- | resources/test_data/honeycomb/nat.py | 6 |
2 files changed, 13 insertions, 6 deletions
diff --git a/resources/libraries/python/NAT.py b/resources/libraries/python/NAT.py index e30381682c..485cd53e71 100644 --- a/resources/libraries/python/NAT.py +++ b/resources/libraries/python/NAT.py @@ -43,25 +43,30 @@ class NATUtil(object): data = [] # lines[0,1] are table and column headers for line in lines[2::]: + # Ignore extra data after NAT table + if "snat_static_mapping_dump error: Misc" in line or "vat#" in line: + continue items = line.split(" ") while "" in items: items.remove("") if len(items) == 0: continue - elif len(items) == 3: + elif len(items) == 4: # no ports were returned data.append({ "local_address": items[0], "remote_address": items[1], - "vrf": items[2] + "vrf": items[2], + "protocol": items[3] }) - elif len(items) == 5: + elif len(items) == 6: data.append({ "local_address": items[0], "local_port": items[1], "remote_address": items[2], "remote_port": items[3], - "vrf": items[4] + "vrf": items[4], + "protocol": items[5] }) else: raise RuntimeError("Unexpected output from snat_mapping_dump.") diff --git a/resources/test_data/honeycomb/nat.py b/resources/test_data/honeycomb/nat.py index fe2894b469..a7c4b3adcd 100644 --- a/resources/test_data/honeycomb/nat.py +++ b/resources/test_data/honeycomb/nat.py @@ -79,11 +79,13 @@ def get_variables(node, interface): { "local_address": "192.168.0.1", "remote_address": "192.168.1.1", - "vrf": "0" + "vrf": "0", + "protocol": "17" }, { "local_address": "192.168.0.2", "remote_address": "192.168.1.2", - "vrf": "0" + "vrf": "0", + "protocol": "17" } ], "nat_interface_vat_in": [ |