增加测试用例
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user