aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/lisp-cp/control.h
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2016-04-21 00:45:40 +0200
committerDave Barach <openvpp@barachs.net>2016-04-25 13:05:49 +0000
commit577c3553dd6939e998c78c5a389750aac3a67f8b (patch)
tree3a95da61f5cfca2d1629a8011d2a6b57ae19bad2 /vnet/vnet/lisp-cp/control.h
parent405e41b50e336dccfdeeafae93bf4453774ecfec (diff)
Convert lisp-gpe encap to interface tx node
With this change, one lisp-gpe interface is created per vrf/overlay tenant and its tx node is used as encapsulator (or tunnel ingress). For all intents and purposes, the tx node inherits all functions previously performed by the lisp-gpe-encap node and it maintains said node's position in lisp-gpe's data-path graph. Chiefly, this opens the possibility to chain interface features, like IPSec, transparently with LISP. Furthermore, it brings basic data plane support for vrfs and LISP instance-ids (or virtual network instances as per RFC7364). Other changes include improvements to lisp-gpe enable and disable sequences and corresponding API/VAT fixes. Change-Id: I085500450660a976b587b1a720e282f6e728d580 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'vnet/vnet/lisp-cp/control.h')
-rw-r--r--vnet/vnet/lisp-cp/control.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/vnet/vnet/lisp-cp/control.h b/vnet/vnet/lisp-cp/control.h
index 53d90fca8e5..f87a6d5ea25 100644
--- a/vnet/vnet/lisp-cp/control.h
+++ b/vnet/vnet/lisp-cp/control.h
@@ -91,6 +91,12 @@ typedef struct
/* vector of map-resolver addresses */
ip_address_t * map_resolvers;
+ /* Lookup vrf by vni */
+ uword * table_id_by_vni;
+
+ /* Number of src prefixes in a vni that use an interface */
+ uword * dp_if_refcount_by_vni;
+
/* commodity */
ip4_main_t * im4;
ip6_main_t * im6;
@@ -122,7 +128,6 @@ typedef struct
int
vnet_lisp_add_del_locator_set (vnet_lisp_add_del_locator_set_args_t * a,
u32 * ls_index);
-
int
vnet_lisp_add_del_locator_set_name (vnet_lisp_add_del_locator_set_args_t * a,
u32 * ls_index);
@@ -146,6 +151,9 @@ typedef struct
int
vnet_lisp_add_del_mapping (vnet_lisp_add_del_mapping_args_t *a,
u32 * map_index);
+int
+vnet_lisp_add_del_local_mapping (vnet_lisp_add_del_mapping_args_t * a,
+ u32 * map_index_result);
typedef struct
{