[dpdk-dev] [PATCH] port: add file descriptor SWX port

Stephen Hemminger stephen at networkplumber.org
Tue Mar 23 19:25:38 CET 2021


On Fri, 19 Mar 2021 08:02:06 -0400
Venkata Suresh Kumar P <venkata.suresh.kumar.p at intel.com> wrote:

> +static void
> +__writer_flush(struct writer *p)
> +{
> +	struct rte_mbuf *pkt;
> +	void *pkt_data;
> +	size_t n_bytes;
> +	ssize_t ret;
> +	uint32_t i;
> +
> +	for (i = 0; i < p->n_pkts; i++) {
> +		pkt = p->pkts[i];
> +		pkt_data = rte_pktmbuf_mtod(pkt, void*);
> +		n_bytes = rte_pktmbuf_data_len(pkt);
> +
> +		ret = write(p->params.fd, pkt_data, n_bytes);
> +		if (ret < 0)
> +			break;
> +	}
> +
> +	TRACE("[FD %u] %u packets out\n",
> +		(uint32_t)p->params.fd,
> +		p->n_pkts);
> +
> +	for (i = 0; i < p->n_pkts; i++)
> +		rte_pktmbuf_free(p->pkts[i]);

Loop can be replaced by:
	rte_pktmbuf_free_bulk(p->pkts, p->n_pkts);


More information about the dev mailing list