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);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -387,6 +387,11 @@ int marsio_send_burst(struct mr_sendpath *sendpath, queue_id_t qid, marsio_buff_
|
||||
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
|
||||
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,
|
||||
};
|
||||
|
||||
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();
|
||||
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_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
|
||||
void marsio_set_recv_mbuff(struct mr_instance *instance, marsio_buff_t *mbuff);
|
||||
|
||||
Reference in New Issue
Block a user