summaryrefslogtreecommitdiffstats
path: root/src/plugins/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/map')
-rw-r--r--src/plugins/map/map.api6
-rw-r--r--src/plugins/map/map_api.c11
2 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/map/map.api b/src/plugins/map/map.api
index f751f5c9ef7..61a3c22c1ba 100644
--- a/src/plugins/map/map.api
+++ b/src/plugins/map/map.api
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-option version = "3.1.0";
+option version = "4.1.0";
import "vnet/ip/ip_types.api";
@@ -40,7 +40,7 @@ define map_add_domain
u8 psid_offset;
u8 psid_length;
u16 mtu;
- string tag[limit=64];
+ string tag[64];
};
/** \brief Reply for MAP domain add
@@ -121,7 +121,7 @@ define map_domain_details
u8 psid_length;
u8 flags;
u16 mtu;
- string tag[limit=64];
+ string tag[64];
};
define map_rule_dump
diff --git a/src/plugins/map/map_api.c b/src/plugins/map/map_api.c
index 4a0834d786b..aa624cb1ea3 100644
--- a/src/plugins/map/map_api.c
+++ b/src/plugins/map/map_api.c
@@ -53,8 +53,8 @@ vl_api_map_add_domain_t_handler (vl_api_map_add_domain_t * mp)
int rv = 0;
u32 index;
u8 flags = 0;
- u8 *vtag = 0;
- vtag = vl_api_from_api_to_vec (&mp->tag);
+
+ u8 *tag = format (0, "%s", mp->tag);
rv =
map_create_domain ((ip4_address_t *) & mp->ip4_prefix.address,
mp->ip4_prefix.len,
@@ -62,9 +62,8 @@ vl_api_map_add_domain_t_handler (vl_api_map_add_domain_t * mp)
mp->ip6_prefix.len,
(ip6_address_t *) & mp->ip6_src.address,
mp->ip6_src.len, mp->ea_bits_len, mp->psid_offset,
- mp->psid_length, &index, ntohs (mp->mtu), flags, vtag);
- vec_free (vtag);
-
+ mp->psid_length, &index, ntohs (mp->mtu), flags, tag);
+ vec_free (tag);
/* *INDENT-OFF* */
REPLY_MACRO2(VL_API_MAP_ADD_DOMAIN_REPLY,
({
@@ -140,7 +139,7 @@ vl_api_map_domain_dump_t_handler (vl_api_map_domain_dump_t * mp)
rmp->flags = d->flags;
rmp->mtu = htons(d->mtu);
- vl_api_vec_to_api_string (de->tag, &rmp->tag );
+ strncpy ((char *) rmp->tag, (char *) de->tag, ARRAY_LEN(rmp->tag)-1);
vl_api_send_msg (reg, (u8 *) rmp);
}));