aboutsummaryrefslogtreecommitdiffstats
path: root/vpp/api/api.c
diff options
context:
space:
mode:
Diffstat (limited to 'vpp/api/api.c')
-rw-r--r--vpp/api/api.c121
1 files changed, 14 insertions, 107 deletions
diff --git a/vpp/api/api.c b/vpp/api/api.c
index 9bf4d3c957a..24f7d9c0e19 100644
--- a/vpp/api/api.c
+++ b/vpp/api/api.c
@@ -67,8 +67,7 @@
#include <vnet/vxlan/vxlan.h>
#include <vnet/gre/gre.h>
#include <vnet/l2/l2_vtr.h>
-#include <vnet/nsh-gre/nsh_gre.h>
-#include <vnet/nsh-vxlan-gpe/nsh_vxlan_gpe.h>
+#include <vnet/vxlan-gpe/vxlan_gpe.h>
#include <vnet/lisp-gpe/lisp_gpe.h>
#include <vnet/lisp-cp/control.h>
#include <vnet/map/map.h>
@@ -288,10 +287,9 @@ _(IP_ADDRESS_DUMP, ip_address_dump) \
_(IP_DUMP, ip_dump) \
_(SW_INTERFACE_VHOST_USER_DETAILS, sw_interface_vhost_user_details) \
_(SHOW_VERSION, show_version) \
-_(NSH_GRE_ADD_DEL_TUNNEL, nsh_gre_add_del_tunnel) \
_(L2_FIB_TABLE_DUMP, l2_fib_table_dump) \
_(L2_FIB_TABLE_ENTRY, l2_fib_table_entry) \
-_(NSH_VXLAN_GPE_ADD_DEL_TUNNEL, nsh_vxlan_gpe_add_del_tunnel) \
+_(VXLAN_GPE_ADD_DEL_TUNNEL, vxlan_gpe_add_del_tunnel) \
_(INTERFACE_NAME_RENUMBER, interface_name_renumber) \
_(WANT_IP4_ARP_EVENTS, want_ip4_arp_events) \
_(INPUT_ACL_SET_INTERFACE, input_acl_set_interface) \
@@ -4528,88 +4526,18 @@ vl_api_l2_patch_add_del_t_handler (vl_api_l2_patch_add_del_t *mp)
}
static void
-vl_api_nsh_gre_add_del_tunnel_t_handler
-(vl_api_nsh_gre_add_del_tunnel_t * mp)
+vl_api_vxlan_gpe_add_del_tunnel_t_handler
+(vl_api_vxlan_gpe_add_del_tunnel_t * mp)
{
- vl_api_nsh_gre_add_del_tunnel_reply_t * rmp;
+ vl_api_vxlan_gpe_add_del_tunnel_reply_t * rmp;
int rv = 0;
- vnet_nsh_gre_add_del_tunnel_args_t _a, *a = &_a;
+ vnet_vxlan_gpe_add_del_tunnel_args_t _a, *a = &_a;
u32 encap_fib_index, decap_fib_index;
- u32 decap_next_index;
+ u8 protocol;
uword * p;
ip4_main_t * im = &ip4_main;
- u32 * tlvs = 0;
u32 sw_if_index = ~0;
- int i;
-
- p = hash_get (im->fib_index_by_table_id, ntohl(mp->encap_vrf_id));
- if (! p) {
- rv = VNET_API_ERROR_NO_SUCH_FIB;
- goto out;
- }
- encap_fib_index = p[0];
-
- decap_next_index = ntohl(mp->decap_next_index);
-
- /* Interpret decap_vrf_id as an opaque if sending to other-than-ip4-input */
- if (decap_next_index == NSH_GRE_INPUT_NEXT_IP4_INPUT) {
- p = hash_get (im->fib_index_by_table_id, ntohl(mp->decap_vrf_id));
- if (! p) {
- rv = VNET_API_ERROR_NO_SUCH_INNER_FIB;
- goto out;
- }
- decap_fib_index = p[0];
- } else {
- decap_fib_index = ntohl(mp->decap_vrf_id);
- }
-
- memset (a, 0, sizeof (*a));
- a->is_add = mp->is_add;
- /* ip addresses sent in network byte order */
- a->src.as_u32 = ntohl(mp->src);
- a->dst.as_u32 = ntohl(mp->dst);
- a->encap_fib_index = encap_fib_index;
- a->decap_fib_index = decap_fib_index;
- a->decap_next_index = decap_next_index;
- a->nsh_hdr.ver_o_c = mp->ver_o_c;
- a->nsh_hdr.length = mp->length;
- a->nsh_hdr.md_type = mp->md_type;
- a->nsh_hdr.next_protocol = mp->next_protocol;
- a->nsh_hdr.spi_si = ntohl(mp->spi_si);
- a->nsh_hdr.c1 = ntohl(mp->c1);
- a->nsh_hdr.c2 = ntohl(mp->c2);
- a->nsh_hdr.c3 = ntohl(mp->c3);
- a->nsh_hdr.c4 = ntohl(mp->c4);
-
- for (i = 0; i < mp->tlv_len_in_words; i++)
- vec_add1 (tlvs, ntohl(mp->tlvs[i]));
-
- a->nsh_hdr.tlvs = tlvs;
-
- rv = vnet_nsh_gre_add_del_tunnel (a, &sw_if_index);
-
-out:
- REPLY_MACRO2(VL_API_NSH_GRE_ADD_DEL_TUNNEL_REPLY,
- ({
- rmp->sw_if_index = ntohl (sw_if_index);
- }));
-}
-
-static void
-vl_api_nsh_vxlan_gpe_add_del_tunnel_t_handler
-(vl_api_nsh_vxlan_gpe_add_del_tunnel_t * mp)
-{
- vl_api_nsh_vxlan_gpe_add_del_tunnel_reply_t * rmp;
- int rv = 0;
- vnet_nsh_vxlan_gpe_add_del_tunnel_args_t _a, *a = &_a;
- u32 encap_fib_index, decap_fib_index;
- u32 decap_next_index;
- uword * p;
- ip4_main_t * im = &ip4_main;
- u32 * tlvs = 0;
- u32 sw_if_index = ~0;
- int i;
p = hash_get (im->fib_index_by_table_id, ntohl(mp->encap_vrf_id));
if (! p) {
@@ -4618,10 +4546,10 @@ vl_api_nsh_vxlan_gpe_add_del_tunnel_t_handler
}
encap_fib_index = p[0];
- decap_next_index = ntohl(mp->decap_next_index);
+ protocol = ntohl(mp->protocol);
/* Interpret decap_vrf_id as an opaque if sending to other-than-ip4-input */
- if (decap_next_index == NSH_GRE_INPUT_NEXT_IP4_INPUT) {
+ if (protocol == VXLAN_GPE_INPUT_NEXT_IP4_INPUT) {
p = hash_get (im->fib_index_by_table_id, ntohl(mp->decap_vrf_id));
if (! p) {
rv = VNET_API_ERROR_NO_SUCH_INNER_FIB;
@@ -4636,31 +4564,16 @@ vl_api_nsh_vxlan_gpe_add_del_tunnel_t_handler
a->is_add = mp->is_add;
/* ip addresses sent in network byte order */
- a->src.as_u32 = ntohl(mp->src);
- a->dst.as_u32 = ntohl(mp->dst);
+ a->local.as_u32 = ntohl(mp->local);
+ a->remote.as_u32 = ntohl(mp->remote);
a->encap_fib_index = encap_fib_index;
a->decap_fib_index = decap_fib_index;
- a->decap_next_index = decap_next_index;
+ a->protocol = protocol;
a->vni = ntohl(mp->vni);
- a->nsh_hdr.ver_o_c = mp->ver_o_c;
- a->nsh_hdr.length = mp->length;
- a->nsh_hdr.md_type = mp->md_type;
- a->nsh_hdr.next_protocol = mp->next_protocol;
- a->nsh_hdr.spi_si = ntohl(mp->spi_si);
- a->nsh_hdr.c1 = ntohl(mp->c1);
- a->nsh_hdr.c2 = ntohl(mp->c2);
- a->nsh_hdr.c3 = ntohl(mp->c3);
- a->nsh_hdr.c4 = ntohl(mp->c4);
-
- for (i = 0; i < mp->tlv_len_in_words; i++)
- vec_add1 (tlvs, ntohl(mp->tlvs[i]));
-
- a->nsh_hdr.tlvs = tlvs;
-
- rv = vnet_nsh_vxlan_gpe_add_del_tunnel (a, &sw_if_index);
+ rv = vnet_vxlan_gpe_add_del_tunnel (a, &sw_if_index);
out:
- REPLY_MACRO2(VL_API_NSH_VXLAN_GPE_ADD_DEL_TUNNEL_REPLY,
+ REPLY_MACRO2(VL_API_VXLAN_GPE_ADD_DEL_TUNNEL_REPLY,
({
rmp->sw_if_index = ntohl (sw_if_index);
}));
@@ -6044,12 +5957,6 @@ vpe_api_hookup (vlib_main_t *vm)
am->api_trace_cfg [VL_API_VXLAN_ADD_DEL_TUNNEL].size
+= 16 * sizeof (u32);
- /*
- * trace space for 4 nsh-gre variable TLV words
- */
- am->api_trace_cfg [VL_API_NSH_GRE_ADD_DEL_TUNNEL].size
- += 4 * sizeof (u32);
-
/*
* Thread-safe API messages
*/