On Wed, 10 Jul 2019 16:46:30 +0200 <kka...@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. Why not? PMD_LOG(ERR, "%s: ioctl failed (SIOCGIFINDEX): %s", name, strerror(errno));