[dpdk-dev] [EXT] Re: [PATCH v2] net/af_packet: add string error for system errors
Krzysztof Kanas
kkanas at marvell.com
Thu Jul 11 11:56:32 CEST 2019
On 19-07-10 09:04, Stephen Hemminger wrote:
> External Email
>
> ----------------------------------------------------------------------
> On Wed, 10 Jul 2019 16:46:30 +0200
> <kkanas at marvell.com> wrote:
>
> >
> > +#define PMD_LOG_ERRNO(level, fmt, args...) \
> > + rte_log(RTE_LOG_ ## level, af_packet_logtype, \
> > + "%s(): " fmt ":%s\n", __func__, ##args, rte_strerror(errno))
> > +
> > static uint16_t
> > eth_af_packet_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
> > {
> > @@ -603,9 +609,7 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
> > return -1;
> > }
> > if (ioctl(sockfd, SIOCGIFINDEX, &ifr) == -1) {
> > - PMD_LOG(ERR,
> > - "%s: ioctl failed (SIOCGIFINDEX)",
> > - name);
> > + PMD_LOG_ERRNO(ERR, "%s: ioctl failed (SIOCGIFINDEX)", name);
> > return -1;
>
> This is wrong.
> The ioctl sets errno not rte_errno.
I was following the documentation on rte_strerror, which states:
For non-RTE-specific error codes, this function returns the value from
the libc strerror function.
>
>
> Why not?
> PMD_LOG(ERR, "%s: ioctl failed (SIOCGIFINDEX): %s",
> name, strerror(errno));
Ok, but rte_strerror uses strerror_r, although I am unsure this is
required here.
--
-
Regards,
Krzysztof(Chris) Kanas
More information about the dev
mailing list