diff options
author | 2018-01-08 23:19:18 -0500 | |
---|---|---|
committer | 2018-01-08 23:19:18 -0500 | |
commit | eeafbef61db693437ff6866974053e0050413255 (patch) | |
tree | eae146e87e2721bcf5a96478ff1b92dfefdc3ebc /src/vnet/gre | |
parent | 43ad007a0ce57ed54864ece41714440cf838f356 (diff) |
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 <loj@cisco.com>
Diffstat (limited to 'src/vnet/gre')
-rw-r--r-- | src/vnet/gre/gre_api.c | 13 |
1 files changed, 1 insertions, 12 deletions
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: |