diff options
author | Florin Coras <fcoras@cisco.com> | 2016-07-22 01:45:30 +0200 |
---|---|---|
committer | Florin Coras <fcoras@cisco.com> | 2016-07-31 15:52:42 +0200 |
commit | 1a1adc7121e698743a64141373966041efc5f2e7 (patch) | |
tree | 1ebc8b57943f706ae2ac3268e631e8c07d43b3f2 /vpp/vpp-api/api.c | |
parent | d038dbf4aa42781a3962326eb49235b04a95f416 (diff) |
Initial L2 LISP support
This introduces support for layer 2 overlays with LISP. Similarly to L3,
all tenant packets to be encapsulated are captured by an interface, but
the mapping (layer binding) instead of being between an L3 VRF and a
LISP VNI, it is between and an L2 bridge domain and a VNI. At a high
level, this results in two important properties:
1) the source and destinations of all packets flooded in the
bridge-domain are mapped via the LISP control plane and the replies are
converted into data-plane tunnels tracked via a LISP specific
source/dest L2 FIB
2) All packets reaching the interface and matching a source/dest L2 LISP
FIB entry are L3 (IP4/6) encapsulated.
This is solely a unicast feature, therefore at this time ARPs are not
handled in any special way.
Change-Id: I0b7badcd7c6d5166db07d4acd2cc4ae7fba3e18e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'vpp/vpp-api/api.c')
-rw-r--r-- | vpp/vpp-api/api.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/vpp/vpp-api/api.c b/vpp/vpp-api/api.c index 6796b575..dcaedac3 100644 --- a/vpp/vpp-api/api.c +++ b/vpp/vpp-api/api.c @@ -4949,7 +4949,8 @@ vl_api_lisp_eid_table_add_del_map_t_handler( vl_api_lisp_eid_table_add_del_map_reply_t *rmp; int rv = 0; rv = vnet_lisp_eid_table_map (clib_net_to_host_u32 (mp->vni), - clib_net_to_host_u32 (mp->vrf), mp->is_add); + clib_net_to_host_u32 (mp->dp_table), + mp->is_l2, mp->is_add); REPLY_MACRO(VL_API_LISP_EID_TABLE_ADD_DEL_MAP_REPLY) } @@ -5010,9 +5011,9 @@ vl_api_lisp_gpe_add_del_fwd_entry_t_handler( memset (&a, 0, sizeof(a)); a.is_add = mp->is_add; - a.deid = eid; - a.slocator = slocator; - a.dlocator = dlocator; + a.rmt_eid = eid; + a.lcl_loc = slocator; + a.rmt_loc = dlocator; rv = vnet_lisp_gpe_add_del_fwd_entry (&a, 0); REPLY_MACRO(VL_API_LISP_GPE_ADD_DEL_FWD_ENTRY_REPLY); |