aboutsummaryrefslogtreecommitdiffstats
path: root/vpp-api-test
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2016-07-22 01:45:30 +0200
committerFlorin Coras <fcoras@cisco.com>2016-07-31 15:52:42 +0200
commit1a1adc7121e698743a64141373966041efc5f2e7 (patch)
tree1ebc8b57943f706ae2ac3268e631e8c07d43b3f2 /vpp-api-test
parentd038dbf4aa42781a3962326eb49235b04a95f416 (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-api-test')
-rw-r--r--vpp-api-test/vat/api_format.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/vpp-api-test/vat/api_format.c b/vpp-api-test/vat/api_format.c
index 04f8799917c..90c69a2cd66 100644
--- a/vpp-api-test/vat/api_format.c
+++ b/vpp-api-test/vat/api_format.c
@@ -11198,8 +11198,8 @@ api_lisp_eid_table_add_del_map (vat_main_t * vam)
f64 timeout = ~0;
unformat_input_t * input = vam->input;
vl_api_lisp_eid_table_add_del_map_t *mp;
- u8 is_add = 1, vni_set = 0, vrf_set = 0;
- u32 vni, vrf;
+ u8 is_add = 1, vni_set = 0, vrf_set = 0, bd_index_set = 0;
+ u32 vni, vrf, bd_index;
/* Parse args required to build the message */
while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
@@ -11208,13 +11208,15 @@ api_lisp_eid_table_add_del_map (vat_main_t * vam)
is_add = 0;
else if (unformat(input, "vrf %d", &vrf))
vrf_set = 1;
+ else if (unformat(input, "bd_index %d", &bd_index))
+ bd_index_set = 1;
else if (unformat(input, "vni %d", &vni))
vni_set = 1;
else
break;
}
- if (!vni_set || !vrf_set)
+ if (!vni_set || (!vrf_set && !bd_index_set))
{
errmsg ("missing arguments!");
return -99;
@@ -11224,7 +11226,8 @@ api_lisp_eid_table_add_del_map (vat_main_t * vam)
mp->is_add = is_add;
mp->vni = htonl (vni);
- mp->vrf = htonl (vrf);
+ mp->dp_table = htonl (vrf);
+ mp->is_l2 = bd_index_set;
/* send */
S;