bugfix: send packet enable rehash
This commit is contained in:
@@ -449,7 +449,7 @@ static int send_packet_to_sf(marsio_buff_t *rx_buff, struct metadata *meta, stru
|
|||||||
}
|
}
|
||||||
|
|
||||||
int nsend = marsio_buff_datalen(rx_buff);
|
int nsend = marsio_buff_datalen(rx_buff);
|
||||||
marsio_send_burst(packet_io->dev_endpoint.mr_path, thread_index, &rx_buff, 1);
|
marsio_send_burst_with_options(packet_io->dev_endpoint.mr_path, thread_index, &rx_buff, 1, MARSIO_SEND_OPT_REHASH);
|
||||||
return nsend;
|
return nsend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -387,6 +387,11 @@ int marsio_send_burst(struct mr_sendpath *sendpath, queue_id_t qid, marsio_buff_
|
|||||||
return marsio_buff_datalen(mbufs[0]);
|
return marsio_buff_datalen(mbufs[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int marsio_send_burst_with_options(struct mr_sendpath *sendpath, queue_id_t sid, marsio_buff_t *mbufs[], int nr_mbufs, uint16_t options)
|
||||||
|
{
|
||||||
|
return marsio_send_burst(sendpath, sid, mbufs, nr_mbufs);
|
||||||
|
}
|
||||||
|
|
||||||
// new add, only for gtest
|
// new add, only for gtest
|
||||||
void marsio_set_recv_mbuff(struct mr_instance *instance, marsio_buff_t *mbuff)
|
void marsio_set_recv_mbuff(struct mr_instance *instance, marsio_buff_t *mbuff)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -42,6 +42,21 @@ enum mr_buff_metadata_type
|
|||||||
MR_BUFF_USER_0 = 254,
|
MR_BUFF_USER_0 = 254,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
/* 发送后不释放数据包,由应用自行释放数据包 */
|
||||||
|
MARSIO_SEND_OPT_NO_FREE = 1 << 0,
|
||||||
|
/* 发送时计算发包哈希值,用于分流 */
|
||||||
|
MARSIO_SEND_OPT_REHASH = 1 << 1,
|
||||||
|
/* 快速报文路径 */
|
||||||
|
MARSIO_SEND_OPT_FAST = 1 << 2,
|
||||||
|
/* 报文追踪标记 */
|
||||||
|
MARSIO_SEND_OPT_TRACE = 1 << 3,
|
||||||
|
/* 控制报文标记 */
|
||||||
|
MARSIO_SEND_OPT_CTRL = 1 << 4
|
||||||
|
|
||||||
|
} marsio_opt_send_t;
|
||||||
|
|
||||||
struct mr_instance *marsio_create();
|
struct mr_instance *marsio_create();
|
||||||
int marsio_destory(struct mr_instance *instance);
|
int marsio_destory(struct mr_instance *instance);
|
||||||
|
|
||||||
@@ -81,6 +96,7 @@ void marsio_buff_set_ctrlbuf(marsio_buff_t *m);
|
|||||||
|
|
||||||
int marsio_recv_burst(struct mr_vdev *vdev, queue_id_t qid, marsio_buff_t *mbufs[], int nr_mbufs);
|
int marsio_recv_burst(struct mr_vdev *vdev, queue_id_t qid, marsio_buff_t *mbufs[], int nr_mbufs);
|
||||||
int marsio_send_burst(struct mr_sendpath *sendpath, queue_id_t qid, marsio_buff_t *mbufs[], int nr_mbufs);
|
int marsio_send_burst(struct mr_sendpath *sendpath, queue_id_t qid, marsio_buff_t *mbufs[], int nr_mbufs);
|
||||||
|
int marsio_send_burst_with_options(struct mr_sendpath * sendpath, queue_id_t sid, marsio_buff_t * mbufs[], int nr_mbufs, uint16_t options);
|
||||||
|
|
||||||
// new add, only for gtest
|
// new add, only for gtest
|
||||||
void marsio_set_recv_mbuff(struct mr_instance *instance, marsio_buff_t *mbuff);
|
void marsio_set_recv_mbuff(struct mr_instance *instance, marsio_buff_t *mbuff);
|
||||||
|
|||||||
Reference in New Issue
Block a user