- // TODO alloc new buffer
- b->error = node->errors[ESP_ENCRYPT_ERROR_NO_TRAILER_SPACE];
- next[0] = ESP_ENCRYPT_NEXT_DROP;
- return 0;
+ u32 tmp_bi = 0;
+ if (vlib_buffer_alloc (vm, &tmp_bi, 1) != 1)
+ return 0;
+
+ vlib_buffer_t *tmp = vlib_get_buffer (vm, tmp_bi);
+ last[0]->next_buffer = tmp_bi;
+ last[0]->flags |= VLIB_BUFFER_NEXT_PRESENT;
+ f = (esp_footer_t *) (vlib_buffer_get_current (tmp) + pad_bytes);
+ tmp->current_length += tail_sz;
+ last[0] = tmp;