aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/libraries/python/NAT.py13
-rw-r--r--resources/test_data/honeycomb/nat.py6
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": [