VPP-1510: add support for punt delete 67/16367/2
authorPavel Kotucek <pavel.kotucek@pantheon.tech>
Wed, 5 Dec 2018 16:16:23 +0000 (17:16 +0100)
committerNeale Ranns <nranns@cisco.com>
Fri, 14 Dec 2018 12:33:44 +0000 (12:33 +0000)
Change-Id: Ibd7b1b13da0861f67e5e9e73bf6539199b3c82ea
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
src/vnet/ip/punt.c

index c0902f3..65e62c0 100644 (file)
@@ -759,7 +759,18 @@ vnet_punt_add_del (vlib_main_t * vm, u8 ipv, u8 protocol, u16 port,
       return 0;
     }
   else
-    return clib_error_return (0, "punt delete is not supported yet");
+    {
+      if (protocol == IP_PROTOCOL_TCP || protocol == IP_PROTOCOL_SCTP)
+       return clib_error_return (0,
+                                 "punt TCP/SCTP ports is not supported yet");
+      if (ipv == 4 || ipv == (u8) ~ 0)
+       udp_unregister_dst_port (vm, port, 1);
+
+      if (ipv == 6 || ipv == (u8) ~ 0)
+       udp_unregister_dst_port (vm, port, 0);
+
+      return 0;
+    }
 }
 
 static clib_error_t *