From 20e63bcdf8dafded5624f3377b5a5ce15c697a63 Mon Sep 17 00:00:00 2001 From: John Lo Date: Mon, 8 Jan 2018 23:19:18 -0500 Subject: GRE tunnel key should use fib_index instead of fib_id (VPP-1118) Follow up fix - vl_api_gre_add_del_tunnel_t_handler should pass outer_fib_id from API message to vnet_gre_add_del_tunnel() and not convert it to fib_index, since vnet_gre_add_del_tunnel() already perform the lookup to get fib_index from fib_id. Change-Id: I24967a97f82ce018ddef596e556bd3eb1706cb63 Signed-off-by: John Lo --- src/vnet/gre/gre_api.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'src/vnet/gre/gre_api.c') diff --git a/src/vnet/gre/gre_api.c b/src/vnet/gre/gre_api.c index ceeb1d4c697..bcf01e2153f 100644 --- a/src/vnet/gre/gre_api.c +++ b/src/vnet/gre/gre_api.c @@ -54,19 +54,8 @@ static void vl_api_gre_add_del_tunnel_t_handler vl_api_gre_add_del_tunnel_reply_t *rmp; int rv = 0; vnet_gre_add_del_tunnel_args_t _a, *a = &_a; - u32 outer_fib_id; - u32 p; u32 sw_if_index = ~0; - p = fib_table_find (!mp->is_ipv6 ? FIB_PROTOCOL_IP4 : FIB_PROTOCOL_IP6, - ntohl (mp->outer_fib_id)); - if (p == ~0) - { - rv = VNET_API_ERROR_NO_SUCH_FIB; - goto out; - } - outer_fib_id = p; - /* Check src & dst are different */ if ((mp->is_ipv6 && memcmp (mp->src_address, mp->dst_address, 16) == 0) || (!mp->is_ipv6 && memcmp (mp->src_address, mp->dst_address, 4) == 0)) @@ -92,7 +81,7 @@ static void vl_api_gre_add_del_tunnel_t_handler clib_memcpy (&(a->dst.ip6), mp->dst_address, 16); } - a->outer_fib_id = outer_fib_id; + a->outer_fib_id = ntohl (mp->outer_fib_id); rv = vnet_gre_add_del_tunnel (a, &sw_if_index); out: -- cgit 1.2.3-korg