From e35d434667f7832ed96a10386bbf8bf71afbeaaf Mon Sep 17 00:00:00 2001 From: Saori Usami Date: Fri, 5 Sep 2014 19:10:36 +0900 Subject: [PATCH] pcap: set port id in received mbuf The port parameter in mbuf should be set with an input port id because DPDK apps may use it to know where each packet came from. Signed-off-by: Saori Usami Acked-by: Thomas Monjalon --- lib/librte_pmd_pcap/rte_eth_pcap.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_pmd_pcap/rte_eth_pcap.c b/lib/librte_pmd_pcap/rte_eth_pcap.c index 2ff1e7721e..19492e8b37 100644 --- a/lib/librte_pmd_pcap/rte_eth_pcap.c +++ b/lib/librte_pmd_pcap/rte_eth_pcap.c @@ -63,6 +63,7 @@ static uint64_t hz; struct pcap_rx_queue { pcap_t *pcap; + uint8_t in_port; struct rte_mempool *mb_pool; volatile unsigned long rx_pkts; volatile unsigned long err_pkts; @@ -155,6 +156,7 @@ eth_pcap_rx(void *queue, header.len); mbuf->data_len = (uint16_t)header.len; mbuf->pkt_len = mbuf->data_len; + mbuf->port = pcap_q->in_port; bufs[num_rx] = mbuf; num_rx++; } else { @@ -376,6 +378,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev, struct pcap_rx_queue *pcap_q = &internals->rx_queue[rx_queue_id]; pcap_q->mb_pool = mb_pool; dev->data->rx_queues[rx_queue_id] = pcap_q; + pcap_q->in_port = dev->data->port_id; return 0; } -- 2.20.1