summaryrefslogtreecommitdiffstats
path: root/src/vnet/ip/lookup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/ip/lookup.c')
-rw-r--r--src/vnet/ip/lookup.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/vnet/ip/lookup.c b/src/vnet/ip/lookup.c
index 3d5dc36c9a0..a376e51d789 100644
--- a/src/vnet/ip/lookup.c
+++ b/src/vnet/ip/lookup.c
@@ -368,11 +368,11 @@ vnet_ip_route_cmd (vlib_main_t * vm,
unformat_input_t _line_input, *line_input = &_line_input;
fib_route_path_t *rpaths = NULL, rpath;
dpo_id_t dpo = DPO_INVALID, *dpos = NULL;
+ u32 table_id, is_del, udp_encap_id;
fib_prefix_t *prefixs = NULL, pfx;
mpls_label_t out_label, via_label;
clib_error_t *error = NULL;
u32 weight, preference;
- u32 table_id, is_del;
vnet_main_t *vnm;
u32 fib_index;
f64 count;
@@ -527,6 +527,13 @@ vnet_ip_route_cmd (vlib_main_t * vm,
rpath.frp_proto = DPO_PROTO_IP6;
vec_add1 (rpaths, rpath);
}
+ else if (unformat (line_input, "via udp-encap %d", &udp_encap_id))
+ {
+ rpath.frp_udp_encap_id = udp_encap_id;
+ rpath.frp_flags |= FIB_ROUTE_PATH_UDP_ENCAP;
+ rpath.frp_proto = fib_proto_to_dpo (pfx.fp_proto);
+ vec_add1 (rpaths, rpath);
+ }
else if (unformat (line_input,
"lookup in table %d", &rpath.frp_fib_index))
{