enic: fix port id in received mbufs
This field is not supposed to contain the RX queue index. Applications can rely on it to determine the port a given mbuf comes from. Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Sujith Sankar <ssujith@cisco.com>
This commit is contained in:
parent
f12f13f2f6
commit
2c46f7ffe1
@ -99,6 +99,7 @@ struct enic {
|
||||
struct vnic_dev_bar bar0;
|
||||
struct vnic_dev *vdev;
|
||||
|
||||
unsigned int port_id;
|
||||
struct rte_eth_dev *rte_dev;
|
||||
struct enic_fdir fdir;
|
||||
char bdf_name[ENICPMD_BDF_LENGTH];
|
||||
|
@ -567,6 +567,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
|
||||
|
||||
ENICPMD_FUNC_TRACE();
|
||||
|
||||
enic->port_id = eth_dev->data->port_id;
|
||||
enic->rte_dev = eth_dev;
|
||||
eth_dev->dev_ops = &enicpmd_eth_dev_ops;
|
||||
eth_dev->rx_pkt_burst = &enicpmd_recv_pkts;
|
||||
|
@ -344,7 +344,7 @@ static int enic_rq_alloc_buf(struct vnic_rq *rq)
|
||||
hdr_mbuf->data_off = RTE_PKTMBUF_HEADROOM;
|
||||
|
||||
hdr_mbuf->nb_segs = 2;
|
||||
hdr_mbuf->port = rq->index;
|
||||
hdr_mbuf->port = enic->port_id;
|
||||
hdr_mbuf->next = mbuf;
|
||||
|
||||
dma_addr = (dma_addr_t)
|
||||
@ -359,7 +359,7 @@ static int enic_rq_alloc_buf(struct vnic_rq *rq)
|
||||
type = RQ_ENET_TYPE_NOT_SOP;
|
||||
} else {
|
||||
mbuf->nb_segs = 1;
|
||||
mbuf->port = rq->index;
|
||||
mbuf->port = enic->port_id;
|
||||
}
|
||||
|
||||
mbuf->data_off = RTE_PKTMBUF_HEADROOM;
|
||||
|
Loading…
Reference in New Issue
Block a user