[PATCH] telemetry: make usable from C++

Markus Theil markus.theil at tu-ilmenau.de
Fri Oct 28 08:48:54 CEST 2022


On 10/27/22 14:04, David Marchand wrote:
> On Wed, Oct 12, 2022 at 2:05 PM Markus Theil <markus.theil at tu-ilmenau.de> wrote:
>> From: Markus Theil <markus.theil at secunet.com>
>>
>> Add missing include in order to make C++ compilers
>> happy.
>>
> We have build checks for headers (-Dcheck_includes meson option), like for C++:
>
> $ cat $BUILDDIR/buildtools/chkincs/chkincs-cpp.p/rte_telemetry.cpp
> #include "/home/dmarchan/dpdk/lib/telemetry/rte_telemetry.h"
>
> [917/1289] ccache c++ -Ibuildtools/chkincs/chkincs-cpp.p
> -Ibuildtools/chkincs -I../../../dpdk/buildtools/chkincs
> -Iexamples/vmdq_dcb -I../../../dpdk/examples/vmdq_dcb
> -I../../../dpdk/examples/common -Idrivers/bus/vdev
> -I../../../dpdk/drivers/bus/vdev -I. -I../../../dpdk -Iconfig
> -I../../../dpdk/config -Ilib/eal/include
> -I../../../dpdk/lib/eal/include -Ilib/eal/linux/include
> -I../../../dpdk/lib/eal/linux/include -Ilib/eal/x86/include
> -I../../../dpdk/lib/eal/x86/include -Ilib/eal/common
> -I../../../dpdk/lib/eal/common -Ilib/eal -I../../../dpdk/lib/eal
> -Ilib/kvargs -I../../../dpdk/lib/kvargs -Ilib/metrics
> -I../../../dpdk/lib/metrics -Ilib/telemetry
> -I../../../dpdk/lib/telemetry -Idrivers/bus/pci
> -I../../../dpdk/drivers/bus/pci -I../../../dpdk/drivers/bus/pci/linux
> -Ilib/pci -I../../../dpdk/lib/pci -Ilib/ring -I../../../dpdk/lib/ring
> -Ilib/rcu -I../../../dpdk/lib/rcu -Ilib/mempool
> -I../../../dpdk/lib/mempool -Ilib/mbuf -I../../../dpdk/lib/mbuf
> -Ilib/net -I../../../dpdk/lib/net -Ilib/meter
> -I../../../dpdk/lib/meter -Ilib/ethdev -I../../../dpdk/lib/ethdev
> -Ilib/cmdline -I../../../dpdk/lib/cmdline -Ilib/hash
> -I../../../dpdk/lib/hash -Ilib/timer -I../../../dpdk/lib/timer
> -Ilib/acl -I../../../dpdk/lib/acl -Ilib/bbdev
> -I../../../dpdk/lib/bbdev -Ilib/bitratestats
> -I../../../dpdk/lib/bitratestats -Ilib/bpf -I../../../dpdk/lib/bpf
> -Ilib/cfgfile -I../../../dpdk/lib/cfgfile -Ilib/compressdev
> -I../../../dpdk/lib/compressdev -Ilib/cryptodev
> -I../../../dpdk/lib/cryptodev -Ilib/distributor
> -I../../../dpdk/lib/distributor -Ilib/efd -I../../../dpdk/lib/efd
> -Ilib/eventdev -I../../../dpdk/lib/eventdev -Ilib/gpudev
> -I../../../dpdk/lib/gpudev -Ilib/gro -I../../../dpdk/lib/gro -Ilib/gso
> -I../../../dpdk/lib/gso -Ilib/ip_frag -I../../../dpdk/lib/ip_frag
> -Ilib/jobstats -I../../../dpdk/lib/jobstats -Ilib/kni
> -I../../../dpdk/lib/kni -Ilib/latencystats
> -I../../../dpdk/lib/latencystats -Ilib/lpm -I../../../dpdk/lib/lpm
> -Ilib/member -I../../../dpdk/lib/member -Ilib/pcapng
> -I../../../dpdk/lib/pcapng -Ilib/power -I../../../dpdk/lib/power
> -Ilib/rawdev -I../../../dpdk/lib/rawdev -Ilib/regexdev
> -I../../../dpdk/lib/regexdev -Ilib/dmadev -I../../../dpdk/lib/dmadev
> -Ilib/rib -I../../../dpdk/lib/rib -Ilib/reorder
> -I../../../dpdk/lib/reorder -Ilib/sched -I../../../dpdk/lib/sched
> -Ilib/security -I../../../dpdk/lib/security -Ilib/stack
> -I../../../dpdk/lib/stack -Ilib/vhost -I../../../dpdk/lib/vhost
> -Ilib/ipsec -I../../../dpdk/lib/ipsec -Ilib/fib
> -I../../../dpdk/lib/fib -Ilib/port -I../../../dpdk/lib/port
> -Ilib/pdump -I../../../dpdk/lib/pdump -Ilib/table
> -I../../../dpdk/lib/table -Ilib/pipeline -I../../../dpdk/lib/pipeline
> -Ilib/flow_classify -I../../../dpdk/lib/flow_classify -Ilib/graph
> -I../../../dpdk/lib/graph -Ilib/node -I../../../dpdk/lib/node
> -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch
> -Wnon-virtual-dtor -Wextra -Werror -O2 -g -include rte_config.h
> -march=nehalem -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ
> buildtools/chkincs/chkincs-cpp.p/meson-generated_rte_telemetry.cpp.o
> -MF buildtools/chkincs/chkincs-cpp.p/meson-generated_rte_telemetry.cpp.o.d
> -o buildtools/chkincs/chkincs-cpp.p/meson-generated_rte_telemetry.cpp.o
> -c buildtools/chkincs/chkincs-cpp.p/rte_telemetry.cpp
>
> Besides, I fail to see the need for stddef.h.
>
> In which setup / case, did you get a compilation issue?
>
>
I traced back, that we need this only for some internal patches which 
expose the JSON output of telemetry inside our DPDK application in order 
to get SFF digital optics module data without piping the telemetry 
socket back into our application. It can be therefore ignored and was 
posted by mistake. I'm archiving it.


More information about the dev mailing list