+ u32 len = sizeof (*rmp);
+
+ if (m->tag)
+ {
+ len += pool_elts (m->locals) *
+ sizeof (nat44_lb_addr_port_t) + vec_len (m->tag);
+ rmp = vl_msg_api_alloc (len);
+ clib_memset (rmp, 0, len);
+
+ sp = (void *) &m->locals +
+ sizeof (vl_api_nat44_lb_addr_port_t) * pool_elts (m->locals);
+ vl_api_to_api_string (vec_len (m->tag), (char *) m->tag, sp);
+ }
+ else
+ {
+ len += pool_elts (m->locals) * sizeof (nat44_lb_addr_port_t);
+ rmp = vl_msg_api_alloc (len);
+ clib_memset (rmp, 0, len);
+ }