- 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;