[dpdk-dev] [PATCH v8 1/1] net/af_xdp: introduce AF XDP PMD driver
Ye Xiaolong
xiaolong.ye at intel.com
Tue Apr 2 17:10:27 CEST 2019
On 04/02, Stephen Hemminger wrote:
>On Tue, 2 Apr 2019 18:45:54 +0800
>Xiaolong Ye <xiaolong.ye at intel.com> wrote:
>
>> +
>> +#include <rte_mbuf.h>
>> +#include <rte_ethdev_driver.h>
>> +#include <rte_ethdev_vdev.h>
>> +#include <rte_malloc.h>
>> +#include <rte_kvargs.h>
>> +#include <rte_bus_vdev.h>
>> +#include <rte_string_fns.h>
>> +
>> +#include <linux/if_ether.h>
>> +#include <linux/if_xdp.h>
>> +#include <linux/if_link.h>
>> +#include <asm/barrier.h>
>> +#include <arpa/inet.h>
>> +#include <net/if.h>
>> +#include <sys/types.h>
>> +#include <sys/socket.h>
>> +#include <sys/ioctl.h>
>> +#include <sys/mman.h>
>> +#include <unistd.h>
>> +#include <poll.h>
>> +#include <bpf/bpf.h>
>> +#include <xsk.h>
>
>The ordering here seems surprising. The usual ordering is:
>
>Libc includes:
>#include <stdio.h>
>...
>Sys includes:
>#include <sys/types.h>
>
>Linux includes:
>#include <linux/if_xdp.h>
>
>DPDK includes:
>#include <rte_mbuf.h>
>
>
>If I run "Include what you use" it has different suggestions.
>Some of which you should ignore but overall there are
>several good ones.
>
>rte_eth_af_xdp.c should add these lines:
>#include <asm/int-ll64.h> // for __u64
>#include <bits/stdint-uintn.h> // for uint16_t, uint64_t, uint32_t
>#include <errno.h> // for EINVAL, errno, EAGAIN, ENOMEM, EBUSY
>#include <netinet/in.h> // for IPPROTO_IP
>#include <rte_ethdev.h> // for rte_eth_dev, rte_eth_dev_data
>#include <stdlib.h> // for strtol
>#include <string.h> // for NULL, memset, strlen
>#include "rte_branch_prediction.h" // for unlikely
>#include "rte_common.h" // for __rte_unused, RTE_MIN, RTE_PRIORI...
>#include "rte_config.h" // for RTE_PKTMBUF_HEADROOM
>#include "rte_dev.h" // for rte_device, RTE_PMD_REGISTER_PARA...
>#include "rte_eal.h" // for rte_eal_process_type, rte_proc_ty...
>#include "rte_ethdev.h" // for rte_eth_stats, rte_eth_dev_info
>#include "rte_ether.h" // for ETHER_ADDR_LEN, ether_addr
>#include "rte_lcore.h" // for rte_socket_id
>#include "rte_log.h" // for rte_log, RTE_LOG_ERR, RTE_LOG_INFO
>#include "rte_memory.h" // for SOCKET_ID_ANY
>#include "rte_memzone.h" // for rte_memzone_free, RTE_MEMZONE_IOV...
>#include "rte_ring.h" // for rte_ring_free, rte_ring_create
>struct rte_mempool;
>
>rte_eth_af_xdp.c should remove these lines:
>- #include <arpa/inet.h> // lines 17-17
>- #include <poll.h> // lines 24-24
>- #include <rte_ethdev_vdev.h> // lines 7-7
>- #include <sys/mman.h> // lines 22-22
>- #include <sys/types.h> // lines 19-19
>
Thanks for pointing out, I'll adjust the headers.
Thanks,
Xiaolong
>
>
>
More information about the dev
mailing list