Add packet injector test frame
This commit is contained in:
@@ -120,16 +120,25 @@ struct packet *packet_dup(const struct packet *pkt)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
memcpy(dup_pkt, pkt, sizeof(struct packet));
|
||||
memcpy((char *)dup_pkt->data_ptr, pkt->data_ptr, pkt->data_len);
|
||||
dup_pkt->origin = PACKET_ORIGIN_USERHEAP;
|
||||
dup_pkt->origin_ctx = NULL;
|
||||
|
||||
// update layers
|
||||
dup_pkt->layers_used = pkt->layers_used;
|
||||
dup_pkt->layers_size = pkt->layers_size;
|
||||
|
||||
memcpy((char *)dup_pkt->data_ptr, pkt->data_ptr, pkt->data_len);
|
||||
dup_pkt->data_len = pkt->data_len;
|
||||
|
||||
dup_pkt->origin_ctx = NULL;
|
||||
dup_pkt->origin = PACKET_ORIGIN_USERHEAP;
|
||||
dup_pkt->action = PACKET_ACTION_DROP;
|
||||
|
||||
for (int8_t i = 0; i < pkt->layers_used; i++)
|
||||
{
|
||||
dup_pkt->layers[i].type = pkt->layers[i].type;
|
||||
dup_pkt->layers[i].hdr_ptr = dup_pkt->data_ptr + pkt->layers[i].hdr_offset;
|
||||
dup_pkt->layers[i].pld_ptr = dup_pkt->data_ptr + pkt->layers[i].hdr_offset + pkt->layers[i].hdr_len;
|
||||
dup_pkt->layers[i].hdr_offset = pkt->layers[i].hdr_offset;
|
||||
dup_pkt->layers[i].hdr_len = pkt->layers[i].hdr_len;
|
||||
dup_pkt->layers[i].pld_len = pkt->layers[i].pld_len;
|
||||
}
|
||||
|
||||
// update frag_layer
|
||||
|
||||
Reference in New Issue
Block a user