增加测试用例

raw_pkt_mirr_block
    raw_pkt_mirr_bypass
    raw_pkt_mirr_forward
    raw_pkt_error_bypass
    raw_pkt_mirr_rx_drop
    raw_pkt_stee_rx_egress
This commit is contained in:
luwenpeng
2023-04-07 16:57:36 +08:00
parent 7215e0b545
commit e62ea7e9f9
20 changed files with 670 additions and 16 deletions

View File

@@ -8,7 +8,9 @@
struct mr_instance
{
marsio_buff_t *current_recv_mbuff_ptr;
marsio_buff_t *current_send_mbuff_ptr;
marsio_buff_t *current_send_mbuff_ptr[128];
int send_mbuff_ptr_index;
int send_mbuff_ptr_number;
};
struct mr_vdev
@@ -69,8 +71,8 @@ struct mock_marsio_buff_t
struct mr_instance *marsio_create()
{
struct mr_instance *instance = (struct mr_instance *)calloc(1, sizeof(struct mr_instance));
instance->current_recv_mbuff_ptr = NULL;
instance->current_send_mbuff_ptr = NULL;
instance->send_mbuff_ptr_index = 0;
instance->send_mbuff_ptr_number = 0;
return instance;
}
@@ -283,14 +285,6 @@ void marsio_buff_free(struct mr_instance *instance, marsio_buff_t *marsio_buff[]
for (unsigned int i = 0; i < nr_mbufs; i++)
{
struct mock_marsio_buff_t *mbuf = (struct mock_marsio_buff_t *)marsio_buff[i];
if (mbuf == instance->current_recv_mbuff_ptr)
{
instance->current_recv_mbuff_ptr = NULL;
}
if (mbuf == instance->current_send_mbuff_ptr)
{
instance->current_send_mbuff_ptr = NULL;
}
if (mbuf)
{
memset(mbuf, 0, sizeof(struct mock_marsio_buff_t));
@@ -320,6 +314,7 @@ char *marsio_buff_adj(marsio_buff_t *m, uint16_t len)
struct mock_marsio_buff_t *mbuf = (struct mock_marsio_buff_t *)m;
mbuf->raw_data += len;
mbuf->raw_len -= len;
return mbuf->raw_data;
}
@@ -374,7 +369,9 @@ int marsio_recv_burst(struct mr_vdev *vdev, queue_id_t qid, marsio_buff_t *mbufs
int marsio_send_burst(struct mr_sendpath *sendpath, queue_id_t qid, marsio_buff_t *mbufs[], int nr_mbufs)
{
assert(nr_mbufs == 1);
sendpath->mr_instance->current_send_mbuff_ptr = mbufs[0];
sendpath->mr_instance->current_send_mbuff_ptr[sendpath->mr_instance->send_mbuff_ptr_index] = mbufs[0];
sendpath->mr_instance->send_mbuff_ptr_index++;
sendpath->mr_instance->send_mbuff_ptr_number++;
return marsio_buff_datalen(mbufs[0]);
}
@@ -387,7 +384,9 @@ void marsio_set_recv_mbuff(struct mr_instance *instance, marsio_buff_t *mbuff)
void marsio_set_send_mbuff(struct mr_instance *instance, marsio_buff_t *mbuff)
{
instance->current_send_mbuff_ptr = mbuff;
instance->current_send_mbuff_ptr[instance->send_mbuff_ptr_index] = mbuff;
instance->send_mbuff_ptr_index++;
instance->send_mbuff_ptr_number++;
}
marsio_buff_t *marsio_get_recv_mbuff(struct mr_instance *instance)
@@ -397,7 +396,16 @@ marsio_buff_t *marsio_get_recv_mbuff(struct mr_instance *instance)
marsio_buff_t *marsio_get_send_mbuff(struct mr_instance *instance)
{
return instance->current_send_mbuff_ptr;
if (instance->send_mbuff_ptr_number)
{
marsio_buff_t *buff = instance->current_send_mbuff_ptr[instance->send_mbuff_ptr_index - instance->send_mbuff_ptr_number];
instance->send_mbuff_ptr_number--;
return buff;
}
else
{
return NULL;
}
}
int marsio_mbuff_cmp(marsio_buff_t *mbuff1, marsio_buff_t *mbuff2)