VPP-478: SNAT address range overlapping 65/3565/2
authorMatus Fabian <matfabia@cisco.com>
Tue, 25 Oct 2016 11:19:26 +0000 (04:19 -0700)
committerOle Trøan <otroan@employees.org>
Mon, 31 Oct 2016 08:28:39 +0000 (08:28 +0000)
Ignore adding duplicate address.

Change-Id: Icbb76bbcb3a78a18acb1a50d5d8ab777e9f9bd36
Signed-off-by: Matus Fabian <matfabia@cisco.com>
plugins/snat-plugin/snat/snat.c

index 505f501..1a8c93d 100644 (file)
@@ -202,6 +202,13 @@ void snat_add_address (snat_main_t *sm, ip4_address_t *addr)
 {
   snat_address_t * ap;
 
+  /* Check if address already exists */
+  vec_foreach (ap, sm->addresses)
+    {
+      if (ap->addr.as_u32 == addr->as_u32)
+        return;
+    }
+
   vec_add2 (sm->addresses, ap, 1);
   ap->addr = *addr;