nat: NAT udp counter & unit test fixes 52/23452/2
authorFilip Varga <fivarga@cisco.com>
Tue, 5 Nov 2019 13:14:08 +0000 (14:14 +0100)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Mon, 18 Nov 2019 13:19:19 +0000 (13:19 +0000)
Ticket: VPP-1798
Type: fix

Change-Id: I42f02d5824575720e95b9fc99cfa864252221a82
Signed-off-by: Filip Varga <fivarga@cisco.com>
(cherry picked from commit 5854b43de4c04a7c52b0cf03cd548c9cac86c325)

src/plugins/nat/in2out.c
src/plugins/nat/in2out_ed.c
src/plugins/nat/nat64_in2out.c
src/plugins/nat/nat64_out2in.c
src/plugins/nat/test/test_nat.py

index 802202d..5cfe058 100755 (executable)
@@ -1573,7 +1573,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
   vlib_node_increment_counter (vm, stats_node_index,
                               SNAT_IN2OUT_ERROR_TCP_PACKETS, tcp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
-                              SNAT_IN2OUT_ERROR_UDP_PACKETS, tcp_packets);
+                              SNAT_IN2OUT_ERROR_UDP_PACKETS, udp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
                               SNAT_IN2OUT_ERROR_ICMP_PACKETS, icmp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
index c878ddd..77d620f 100644 (file)
@@ -1629,7 +1629,7 @@ nat44_ed_in2out_node_fn_inline (vlib_main_t * vm,
   vlib_node_increment_counter (vm, stats_node_index,
                               NAT_IN2OUT_ED_ERROR_TCP_PACKETS, tcp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
-                              NAT_IN2OUT_ED_ERROR_UDP_PACKETS, tcp_packets);
+                              NAT_IN2OUT_ED_ERROR_UDP_PACKETS, udp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
                               NAT_IN2OUT_ED_ERROR_ICMP_PACKETS,
                               icmp_packets);
index 11551f4..225683c 100644 (file)
@@ -1157,7 +1157,7 @@ nat64_in2out_node_fn_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
   vlib_node_increment_counter (vm, stats_node_index,
                               NAT64_IN2OUT_ERROR_TCP_PACKETS, tcp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
-                              NAT64_IN2OUT_ERROR_UDP_PACKETS, tcp_packets);
+                              NAT64_IN2OUT_ERROR_UDP_PACKETS, udp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
                               NAT64_IN2OUT_ERROR_ICMP_PACKETS, icmp_packets);
   vlib_node_increment_counter (vm, stats_node_index,
index b62bbee..e0dd407 100644 (file)
@@ -561,7 +561,7 @@ VLIB_NODE_FN (nat64_out2in_node) (vlib_main_t * vm,
   vlib_node_increment_counter (vm, nm->out2in_node_index,
                               NAT64_OUT2IN_ERROR_TCP_PACKETS, tcp_packets);
   vlib_node_increment_counter (vm, nm->out2in_node_index,
-                              NAT64_OUT2IN_ERROR_UDP_PACKETS, tcp_packets);
+                              NAT64_OUT2IN_ERROR_UDP_PACKETS, udp_packets);
   vlib_node_increment_counter (vm, nm->out2in_node_index,
                               NAT64_OUT2IN_ERROR_ICMP_PACKETS, icmp_packets);
   vlib_node_increment_counter (vm, nm->out2in_node_index,
index 60559f4..f2b1dbf 100644 (file)
@@ -243,7 +243,7 @@ class MethodHolder(VppTestCase):
         p = (Ether(dst=in_if.local_mac, src=in_if.remote_mac) /
              IP(src=in_if.remote_ip4, dst=dst_ip, ttl=ttl) /
              TCP(sport=self.tcp_port_in, dport=20))
-        pkts.append(p)
+        pkts.extend([p, p])
 
         # UDP
         p = (Ether(dst=in_if.local_mac, src=in_if.remote_mac) /
@@ -407,7 +407,7 @@ class MethodHolder(VppTestCase):
         p = (Ether(dst=out_if.local_mac, src=out_if.remote_mac) /
              IP(src=out_if.remote_ip4, dst=dst_ip, ttl=ttl) /
              TCP(dport=tcp_port, sport=20))
-        pkts.append(p)
+        pkts.extend([p, p])
 
         # UDP
         p = (Ether(dst=out_if.local_mac, src=out_if.remote_mac) /
@@ -1574,7 +1574,7 @@ class TestNAT44(MethodHolder):
 
         err = self.statistics.get_err_counter(
             '/err/nat44-in2out-slowpath/TCP packets')
-        self.assertEqual(err - tcpn, 1)
+        self.assertEqual(err - tcpn, 2)
         err = self.statistics.get_err_counter(
             '/err/nat44-in2out-slowpath/UDP packets')
         self.assertEqual(err - udpn, 1)
@@ -1583,7 +1583,7 @@ class TestNAT44(MethodHolder):
         self.assertEqual(err - icmpn, 1)
         err = self.statistics.get_err_counter(
             '/err/nat44-in2out-slowpath/good in2out packets processed')
-        self.assertEqual(err - totaln, 3)
+        self.assertEqual(err - totaln, 4)
 
         # out2in
         tcpn = self.statistics.get_err_counter('/err/nat44-out2in/TCP packets')
@@ -1601,14 +1601,14 @@ class TestNAT44(MethodHolder):
         self.verify_capture_in(capture, self.pg0)
 
         err = self.statistics.get_err_counter('/err/nat44-out2in/TCP packets')
-        self.assertEqual(err - tcpn, 1)
+        self.assertEqual(err - tcpn, 2)
         err = self.statistics.get_err_counter('/err/nat44-out2in/UDP packets')
         self.assertEqual(err - udpn, 1)
         err = self.statistics.get_err_counter('/err/nat44-out2in/ICMP packets')
         self.assertEqual(err - icmpn, 1)
         err = self.statistics.get_err_counter(
             '/err/nat44-out2in/good out2in packets processed')
-        self.assertEqual(err - totaln, 3)
+        self.assertEqual(err - totaln, 4)
 
         users = self.statistics.get_counter('/nat44/total-users')
         self.assertEqual(users[0][0], 1)
@@ -4732,7 +4732,7 @@ class TestNAT44EndpointDependent(MethodHolder):
 
         err = self.statistics.get_err_counter(
             '/err/nat44-ed-in2out-slowpath/TCP packets')
-        self.assertEqual(err - tcpn, 1)
+        self.assertEqual(err - tcpn, 2)
         err = self.statistics.get_err_counter(
             '/err/nat44-ed-in2out-slowpath/UDP packets')
         self.assertEqual(err - udpn, 1)
@@ -4741,7 +4741,7 @@ class TestNAT44EndpointDependent(MethodHolder):
         self.assertEqual(err - icmpn, 1)
         err = self.statistics.get_err_counter(
             '/err/nat44-ed-in2out-slowpath/good in2out packets processed')
-        self.assertEqual(err - totaln, 3)
+        self.assertEqual(err - totaln, 4)
 
         # out2in
         tcpn = self.statistics.get_err_counter(
@@ -4762,7 +4762,7 @@ class TestNAT44EndpointDependent(MethodHolder):
 
         err = self.statistics.get_err_counter(
             '/err/nat44-ed-out2in/TCP packets')
-        self.assertEqual(err - tcpn, 1)
+        self.assertEqual(err - tcpn, 2)
         err = self.statistics.get_err_counter(
             '/err/nat44-ed-out2in/UDP packets')
         self.assertEqual(err - udpn, 1)
@@ -4771,7 +4771,7 @@ class TestNAT44EndpointDependent(MethodHolder):
         self.assertEqual(err - icmpn, 1)
         err = self.statistics.get_err_counter(
             '/err/nat44-ed-out2in/good out2in packets processed')
-        self.assertEqual(err - totaln, 2)
+        self.assertEqual(err - totaln, 3)
 
         users = self.statistics.get_counter('/nat44/total-users')
         self.assertEqual(users[0][0], 1)
@@ -4828,7 +4828,7 @@ class TestNAT44EndpointDependent(MethodHolder):
 
             err = self.statistics.get_err_counter(
                 '/err/nat44-ed-in2out-slowpath/TCP packets')
-            self.assertEqual(err - tcpn, 1)
+            self.assertEqual(err - tcpn, 2)
             err = self.statistics.get_err_counter(
                 '/err/nat44-ed-in2out-slowpath/UDP packets')
             self.assertEqual(err - udpn, 1)
@@ -4837,7 +4837,7 @@ class TestNAT44EndpointDependent(MethodHolder):
             self.assertEqual(err - icmpn, 1)
             err = self.statistics.get_err_counter(
                 '/err/nat44-ed-in2out-slowpath/good in2out packets processed')
-            self.assertEqual(err - totaln, 3)
+            self.assertEqual(err - totaln, 4)
 
             # out2in
             tcpn = self.statistics.get_err_counter(
@@ -4858,7 +4858,7 @@ class TestNAT44EndpointDependent(MethodHolder):
 
             err = self.statistics.get_err_counter(
                 '/err/nat44-ed-out2in/TCP packets')
-            self.assertEqual(err - tcpn, 1)
+            self.assertEqual(err - tcpn, 2)
             err = self.statistics.get_err_counter(
                 '/err/nat44-ed-out2in/UDP packets')
             self.assertEqual(err - udpn, 1)
@@ -4867,7 +4867,7 @@ class TestNAT44EndpointDependent(MethodHolder):
             self.assertEqual(err - icmpn, 1)
             err = self.statistics.get_err_counter(
                 '/err/nat44-ed-out2in/good out2in packets processed')
-            self.assertEqual(err - totaln, 2)
+            self.assertEqual(err - totaln, 3)
 
             users = self.statistics.get_counter('/nat44/total-users')
             self.assertEqual(users[0][0], 1)
@@ -8039,14 +8039,14 @@ class TestNAT64(MethodHolder):
         self.verify_capture_in_ip6(capture, ip[IPv6].src, self.pg0.remote_ip6)
 
         err = self.statistics.get_err_counter('/err/nat64-out2in/TCP packets')
-        self.assertEqual(err - tcpn, 1)
+        self.assertEqual(err - tcpn, 2)
         err = self.statistics.get_err_counter('/err/nat64-out2in/UDP packets')
         self.assertEqual(err - udpn, 1)
         err = self.statistics.get_err_counter('/err/nat64-out2in/ICMP packets')
         self.assertEqual(err - icmpn, 1)
         err = self.statistics.get_err_counter(
             '/err/nat64-out2in/good out2in packets processed')
-        self.assertEqual(err - totaln, 3)
+        self.assertEqual(err - totaln, 4)
 
         bibs = self.statistics.get_counter('/nat64/total-bibs')
         self.assertEqual(bibs[0][0], 3)