[dpdk-dev] [PATCH] pcap: set in_port value in packet mbuf data when each packet is received
Saori USAMI
susami at igel.co.jp
Wed Sep 24 05:37:02 CEST 2014
Hi,
How about the following patch for the next DPDK release?
Thanks,
Saori
2014-09-05 19:10 GMT+09:00 Saori USAMI <susami at igel.co.jp>:
> The pkt.in_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 <susami at igel.co.jp>
> ---
> 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 eebe768..cfd3de4 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;
> @@ -154,6 +155,7 @@ eth_pcap_rx(void *queue,
> rte_memcpy(mbuf->pkt.data, packet, header.len);
> mbuf->pkt.data_len = (uint16_t)header.len;
> mbuf->pkt.pkt_len = mbuf->pkt.data_len;
> + mbuf->pkt.in_port = pcap_q->in_port;
> bufs[num_rx] = mbuf;
> num_rx++;
> } else {
> @@ -373,6 +375,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;
> }
>
> --
> 1.9.1
>
>
More information about the dev
mailing list