- 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 *) &rmp->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);
- }