Fix use of lookup_next_index in LISP src/dst FIB 39/1639/2
authorFlorin Coras <fcoras@cisco.com>
Fri, 17 Jun 2016 11:59:10 +0000 (13:59 +0200)
committerDave Barach <openvpp@barachs.net>
Sun, 19 Jun 2016 13:26:11 +0000 (13:26 +0000)
commit2459e4c5f577907ea060957bc0699a72a1f8e1be
tree02668088c85da27400f8c318cd4a401774752e4b
parent808b2db9648b444dec906d27050afd9af6138f90
Fix use of lookup_next_index in LISP src/dst FIB

Adjacencies in LISP src/dst FIB store the index of the LISP output
interface (next node after lookup) in the lookup_next_index. Since the
values of interface node indexes are not constrained, they can collide
with the 'special' adjacencies IP_LOOKUP_NEXT_LOCAL and
IP_LOOKUP_NEXT_DROP. As a result, at allocation time, LISP ajacencies
may be automatically shared with the previous two, predefined
adjacencies and all LISP specific state stored in the rewrite area is
lost.

This fixes the problem by 'hijacking' the explicit_fib_index instead
of the lookup_next_index field.

Change-Id: I3c59121dcf0851decf5c08004143d1201dbd1ece
Signed-off-by: Florin Coras <fcoras@cisco.com>
vnet/vnet/lisp-gpe/ip_forward.c
vnet/vnet/lisp-gpe/lisp_gpe.c