diff options
author | 2016-04-21 00:45:40 +0200 | |
---|---|---|
committer | 2016-04-25 13:05:49 +0000 | |
commit | 577c3553dd6939e998c78c5a389750aac3a67f8b (patch) | |
tree | 3a95da61f5cfca2d1629a8011d2a6b57ae19bad2 /vnet/vnet/lisp-cp/control.h | |
parent | 405e41b50e336dccfdeeafae93bf4453774ecfec (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.h | 10 |
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 { |