[dpdk-dev] net/pcap: set rte_errno on TX error
2016-07-25 14:33, Ferruh Yigit: > On 7/25/2016 2:10 PM, Zoltan Kiss wrote: > > This returns the error code provided by pcap_sendpacket() > > Although this is good idea, this adds undocumented side effect to > rte_eth_tx_burst(). > > I am not able to find any information in rte_eth_tx_burst() that it can > alter rte_errno. > > Since rte_errno is shared resource, it shouldn't be updated without > documented. That's something I was looking into. Maybe we should generalize the use of rte_errno in 16.11?
[dpdk-dev] net/pcap: set rte_errno on TX error
On 7/25/2016 2:10 PM, Zoltan Kiss wrote: > This returns the error code provided by pcap_sendpacket() Although this is good idea, this adds undocumented side effect to rte_eth_tx_burst(). I am not able to find any information in rte_eth_tx_burst() that it can alter rte_errno. Since rte_errno is shared resource, it shouldn't be updated without documented. > > Signed-off-by: Zoltan Kiss > > diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c > index 7e213eb..0899bac 100644 > --- a/drivers/net/pcap/rte_eth_pcap.c > +++ b/drivers/net/pcap/rte_eth_pcap.c > @@ -41,6 +41,7 @@ > #include > #include > #include > +#include > > #include > > @@ -360,8 +361,10 @@ eth_pcap_tx(void *queue, > } > } > > - if (unlikely(ret != 0)) > + if (unlikely(ret != 0)) { > + rte_errno = ret; > break; > + } > num_tx++; > tx_bytes += mbuf->pkt_len; > rte_pktmbuf_free(mbuf); >
[dpdk-dev] net/pcap: set rte_errno on TX error
This returns the error code provided by pcap_sendpacket() Signed-off-by: Zoltan Kiss diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c index 7e213eb..0899bac 100644 --- a/drivers/net/pcap/rte_eth_pcap.c +++ b/drivers/net/pcap/rte_eth_pcap.c @@ -41,6 +41,7 @@ #include #include #include +#include #include @@ -360,8 +361,10 @@ eth_pcap_tx(void *queue, } } - if (unlikely(ret != 0)) + if (unlikely(ret != 0)) { + rte_errno = ret; break; + } num_tx++; tx_bytes += mbuf->pkt_len; rte_pktmbuf_free(mbuf);