ip: add support for drop route through vpp CLI 19/40719/3
authorMohsin Kazmi <[email protected]>
Fri, 19 Apr 2024 11:02:28 +0000 (11:02 +0000)
committerBeno�t Ganne <[email protected]>
Mon, 3 Jun 2024 12:29:37 +0000 (12:29 +0000)
Type: improvement

Change-Id: Ib822f36ff7b3ecda162fc99bf3892f912d0649f0
Signed-off-by: Mohsin Kazmi <[email protected]>
src/vnet/fib/fib_types.c
src/vnet/ip/lookup.c

index c4472c7..9abb89b 100644 (file)
@@ -715,6 +715,10 @@ unformat_fib_route_path (unformat_input_t * input, va_list * args)
             rpath->frp_proto = DPO_PROTO_IP6;
             rpath->frp_flags = FIB_ROUTE_PATH_INTF_RX;
         }
+      else if (unformat (input, "drop"))
+        {
+          rpath->frp_flags = FIB_ROUTE_PATH_DROP;
+        }
       else if (unformat (input, "local"))
        {
          clib_memset (&rpath->frp_addr, 0, sizeof (rpath->frp_addr));
index c225c22..c0fa430 100644 (file)
@@ -603,6 +603,8 @@ VLIB_CLI_COMMAND (vlib_cli_show_ip6_command, static) = {
  * @cliexcmd{ip route add 7.0.0.1/32 via 6.0.0.2 GigabitEthernet2/0/0 weight 3}
  * To add a route to a particular FIB table (VRF), use:
  * @cliexcmd{ip route add 172.16.24.0/24 table 7 via GigabitEthernet2/0/0}
+ * To add a route to drop the traffic:
+ * @cliexcmd{ip route add 172.16.24.0/24 table 100 via 127.0.0.1 drop}
  ?*/
 VLIB_CLI_COMMAND (ip_route_command, static) = {
   .path = "ip route",
@@ -612,7 +614,7 @@ VLIB_CLI_COMMAND (ip_route_command, static) = {
                "<value>] [udp-encap <value>] [ip4-lookup-in-table <value>] "
                "[ip6-lookup-in-table <value>] [mpls-lookup-in-table <value>] "
                "[resolve-via-host] [resolve-via-connected] [rx-ip4|rx-ip6 "
-               "<interface>] [out-labels <value value value>]",
+               "<interface>] [out-labels <value value value>] [drop]",
   .function = vnet_ip_route_cmd,
   .is_mp_safe = 1,
 };