diff options
author | Filip Tehlar <ftehlar@cisco.com> | 2016-09-30 12:47:59 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2016-09-30 13:07:51 +0000 |
commit | f3e3fd3e08747b95ce32e7f8de714e82fc0f9597 (patch) | |
tree | 474095d9fd949d04af835550d3efebbc4a632916 /vnet/vnet/lisp-cp/control.c | |
parent | f2c6ed1925efa46fc9f17d0b7cad738c71067eb4 (diff) |
VPP-454 Fix LISP GID dictionary issue
GID dictionary IP prefix entries are rewritten with more narrow one
which is not desirable. This patch does exact matching instead of
longest prefix matching.
Change-Id: I0191e23229a69ffe86f82ea4d71e4a5534dbb5b0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Diffstat (limited to 'vnet/vnet/lisp-cp/control.c')
-rw-r--r-- | vnet/vnet/lisp-cp/control.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vnet/vnet/lisp-cp/control.c b/vnet/vnet/lisp-cp/control.c index 940d5893..4ca30f95 100644 --- a/vnet/vnet/lisp-cp/control.c +++ b/vnet/vnet/lisp-cp/control.c @@ -394,7 +394,10 @@ dp_add_fwd_entry (lisp_cp_main_t * lcm, u32 src_map_index, u32 dst_map_index) if (feip) dp_del_fwd_entry (lcm, src_map_index, dst_map_index); - src_map = pool_elt_at_index (lcm->mapping_pool, src_map_index); + if (lcm->lisp_pitr) + src_map = pool_elt_at_index (lcm->mapping_pool, lcm->pitr_map_index); + else + src_map = pool_elt_at_index (lcm->mapping_pool, src_map_index); dst_map = pool_elt_at_index (lcm->mapping_pool, dst_map_index); /* insert data plane forwarding entry */ |