Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save atyronesmith/4986f73f2f293c5b6b887d02cfc61d0f to your computer and use it in GitHub Desktop.
Save atyronesmith/4986f73f2f293c5b6b887d02cfc61d0f to your computer and use it in GitHub Desktop.
[nextgen@dell-r640-oss-10 grout]$ git clean -dffx && make
Removing build/
Removing subprojects/ecoli/
meson setup build --buildtype=debugoptimized --werror --warnlevel=2 -Db_sanitize=none
The Meson build system
Version: 0.63.3
Source dir: /home/nextgen/dev/grout
Build dir: /home/nextgen/dev/grout/build
Build type: native build
Project name: grout
Project version: v0.7.1-39-ged04fdd0
C compiler for the host machine: cc (gcc 11.5.0 "cc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-2)")
C linker for the host machine: cc ld.bfd 2.35.2-54
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wcalloc-transposed-args: NO
Compiler for C supports arguments -Wmissing-variable-declarations: NO
Compiler for C supports arguments -Wno-format-truncation: YES
Found pkg-config: /usr/bin/pkg-config (1.7.3)
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency libdpdk found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency libdpdk
Cloning into 'dpdk'...
remote: Enumerating objects: 7197, done.
remote: Counting objects: 100% (7197/7197), done.
remote: Compressing objects: 100% (6383/6383), done.
remote: Total 7197 (delta 1289), reused 2968 (delta 765), pack-reused 0 (from 0)
Receiving objects: 100% (7197/7197), 23.62 MiB | 11.53 MiB/s, done.
Resolving deltas: 100% (1289/1289), done.
Executing subproject dpdk
dpdk| Project name: DPDK
dpdk| Project version: 24.11.1
dpdk| C compiler for the host machine: cc (gcc 11.5.0 "cc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-2)")
dpdk| C linker for the host machine: cc ld.bfd 2.35.2-54
dpdk| Program pkg-config found: YES (/usr/bin/pkg-config)
dpdk| Program check-symbols.sh found: YES (/home/nextgen/dev/grout/subprojects/dpdk/buildtools/check-symbols.sh)
dpdk| Program options-ibverbs-static.sh found: YES (/home/nextgen/dev/grout/subprojects/dpdk/buildtools/options-ibverbs-static.sh)
dpdk| Program python3 (elftools) found: YES (/usr/bin/python3) modules: elftools
dpdk| Program cat found: YES (/usr/bin/cat)
dpdk| Compiler for C supports arguments -march=native: YES
dpdk| Checking for size of "void *" : 8
dpdk| Checking for size of "void *" : 8
dpdk| Compiler for C supports link arguments -Wl,--undefined-version: NO
dpdk| Library m found: YES
dpdk| Library numa found: YES
dpdk| Has header "numaif.h" : YES
dpdk| Library fdt found: NO
dpdk| Library execinfo found: NO
dpdk| Has header "execinfo.h" : YES
dpdk| Run-time dependency libarchive found: YES 3.5.3
dpdk| Run-time dependency libbsd found: NO (tried pkgconfig)
dpdk| Run-time dependency jansson found: NO (tried pkgconfig)
dpdk| Run-time dependency openssl found: YES 3.2.2
dpdk| Run-time dependency libpcap found: NO (tried pkgconfig)
dpdk| Library pcap found: NO
dpdk| Compiler for C supports arguments -Wcast-qual: YES
dpdk| Compiler for C supports arguments -Wdeprecated: YES
dpdk| Compiler for C supports arguments -Wformat: YES
dpdk| Compiler for C supports arguments -Wformat-nonliteral: YES
dpdk| Compiler for C supports arguments -Wformat-security: YES
dpdk| Compiler for C supports arguments -Wmissing-declarations: YES
dpdk| Compiler for C supports arguments -Wmissing-prototypes: YES
dpdk| Compiler for C supports arguments -Wnested-externs: YES
dpdk| Compiler for C supports arguments -Wold-style-definition: YES
dpdk| Compiler for C supports arguments -Wpointer-arith: YES
dpdk| Compiler for C supports arguments -Wsign-compare: YES
dpdk| Compiler for C supports arguments -Wstrict-prototypes: YES
dpdk| Compiler for C supports arguments -Wundef: YES
dpdk| Compiler for C supports arguments -Wwrite-strings: YES
dpdk| Compiler for C supports arguments -Wno-packed-not-aligned: YES
dpdk| Compiler for C supports arguments -Wno-missing-field-initializers: YES
dpdk| Program objdump found: YES (/usr/bin/objdump)
dpdk| Compiler for C supports arguments -mavx512f -mavx512vl -mavx512dq -mavx512bw: YES
dpdk| Checking if "AVX512 checking" compiles: YES
dpdk| Fetching value of define "__AVX512F__" : 1
dpdk| Fetching value of define "__AVX512BW__" : 1
dpdk| Fetching value of define "__AVX512DQ__" : 1
dpdk| Fetching value of define "__AVX512VL__" : 1
dpdk| Fetching value of define "__SSE4_2__" : 1
dpdk| Fetching value of define "__AES__" : 1
dpdk| Fetching value of define "__AVX__" : 1
dpdk| Fetching value of define "__AVX2__" : 1
dpdk| Fetching value of define "__AVX512BW__" : 1
dpdk| Fetching value of define "__AVX512CD__" : 1
dpdk| Fetching value of define "__AVX512DQ__" : 1
dpdk| Fetching value of define "__AVX512F__" : 1
dpdk| Fetching value of define "__AVX512VL__" : 1
dpdk| Fetching value of define "__PCLMUL__" : 1
dpdk| Fetching value of define "__RDRND__" : 1
dpdk| Fetching value of define "__RDSEED__" : 1
dpdk| Fetching value of define "__VPCLMULQDQ__" :
dpdk| Compiler for C supports arguments -Wno-format-truncation: YES (cached)
dpdk| Checking for function "pthread_attr_setaffinity_np" : YES
dpdk| Checking for function "getentropy" : YES
dpdk| Fetching value of define "__PCLMUL__" : 1 (cached)
dpdk| Fetching value of define "__VPCLMULQDQ__" : (cached)
dpdk| Compiler for C supports arguments -mpclmul: YES
dpdk| Compiler for C supports arguments -maes: YES
dpdk| Compiler for C supports arguments -mvpclmulqdq: YES
dpdk| Has header "linux/userfaultfd.h" : YES
dpdk| Has header "linux/vduse.h" : YES
dpdk| Compiler for C supports arguments -Wno-format-truncation: YES (cached)
dpdk| Compiler for C supports arguments -Wno-address-of-packed-member: YES
dpdk| Compiler for C supports arguments -Wno-pointer-to-int-cast: YES
dpdk| Compiler for C supports arguments -std=c11: YES
dpdk| Compiler for C supports arguments -Wno-strict-prototypes: YES
dpdk| Compiler for C supports arguments -D_BSD_SOURCE: YES
dpdk| Compiler for C supports arguments -D_DEFAULT_SOURCE: YES
dpdk| Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES
dpdk| Run-time dependency libmlx5 found: YES 1.24.51.0
dpdk| Run-time dependency libibverbs found: YES 1.14.51.0
dpdk| Library mtcr_ul found: NO
dpdk| Header "infiniband/verbs.h" has symbol "IBV_FLOW_SPEC_ESP" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "IBV_RX_HASH_IPSEC_SPI" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "IBV_ACCESS_RELAXED_ORDERING " with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_create_flow_action_packet_reformat" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "IBV_FLOW_SPEC_MPLS" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "IBV_WQ_FLAGS_PCI_WRITE_END_PADDING" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "IBV_WQ_FLAG_RX_END_PADDING" with dependencies libmlx5, libibverbs: NO
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_query_devx_port" with dependencies libmlx5, libibverbs: NO
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_query_port" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_dest_ib_port" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_devx_obj_create" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_FLOW_ACTION_COUNTERS_DEVX" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_FLOW_ACTION_DEFAULT_MISS" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_devx_obj_query_async" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_devx_qp_query" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_pp_alloc" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_dest_devx_tir" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_devx_get_event" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_flow_meter" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5_MMAP_GET_NC_PAGES_CMD" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_DR_DOMAIN_TYPE_NIC_RX" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_DR_DOMAIN_TYPE_FDB" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_push_vlan" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_alloc_var" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5_OPCODE_ENHANCED_MPSW" with dependencies libmlx5, libibverbs: NO
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5_OPCODE_SEND_EN" with dependencies libmlx5, libibverbs: NO
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5_OPCODE_WAIT" with dependencies libmlx5, libibverbs: NO
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5_OPCODE_ACCESS_ASO" with dependencies libmlx5, libibverbs: NO
dpdk| Header "linux/if_link.h" has symbol "IFLA_NUM_VF" with dependencies libmlx5, libibverbs: YES
dpdk| Header "linux/if_link.h" has symbol "IFLA_EXT_MASK" with dependencies libmlx5, libibverbs: YES
dpdk| Header "linux/if_link.h" has symbol "IFLA_PHYS_SWITCH_ID" with dependencies libmlx5, libibverbs: YES
dpdk| Header "linux/if_link.h" has symbol "IFLA_PHYS_PORT_NAME" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NL_NLDEV" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NLDEV_CMD_GET" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NLDEV_CMD_PORT_GET" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NLDEV_ATTR_DEV_INDEX" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NLDEV_ATTR_DEV_NAME" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NLDEV_ATTR_PORT_INDEX" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NLDEV_ATTR_PORT_STATE" with dependencies libmlx5, libibverbs: YES
dpdk| Header "rdma/rdma_netlink.h" has symbol "RDMA_NLDEV_ATTR_NDEV_INDEX" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dump_dr_domain" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_flow_sampler" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_domain_set_reclaim_device_memory" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_dest_array" with dependencies libmlx5, libibverbs: YES
dpdk| Header "linux/devlink.h" has symbol "DEVLINK_GENL_NAME" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_aso" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "INFINIBAND_VERBS_H" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5_WQE_UMR_CTRL_FLAG_INLINE" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dump_dr_rule" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_DR_ACTION_FLAGS_ASO_CT_DIRECTION_INITIATOR" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_domain_allow_duplicate_rules" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "ibv_reg_mr_iova" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "ibv_import_device" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_dr_action_create_dest_root_table" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "mlx5dv_create_steering_anchor" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/verbs.h" has symbol "ibv_is_fork_initialized" with dependencies libmlx5, libibverbs: YES
dpdk| Header "infiniband/mlx5dv.h" has symbol "MLX5DV_CONTEXT_MASK_REG_C0" with dependencies libmlx5, libibverbs: YES
dpdk| Checking whether type "struct mlx5dv_sw_parsing_caps" has member "sw_parsing_offloads" with dependencies libmlx5, libibverbs: YES
dpdk| Checking whether type "struct ibv_counter_set_init_attr" has member "counter_set_id" with dependencies libmlx5, libibverbs: NO
dpdk| Checking whether type "struct ibv_counters_init_attr" has member "comp_mask" with dependencies libmlx5, libibverbs: YES
dpdk| Checking whether type "struct mlx5dv_devx_uar" has member "mmap_off" with dependencies libmlx5, libibverbs: YES
dpdk| Checking whether type "struct mlx5dv_flow_matcher_attr" has member "ft_type" with dependencies libmlx5, libibverbs: YES
dpdk| Configuring mlx5_autoconf.h using configuration
dpdk| Compiler for C supports arguments -Wno-sign-compare: YES
dpdk| Compiler for C supports arguments -Wno-unused-value: YES
dpdk| Compiler for C supports arguments -Wno-strict-aliasing: YES
dpdk| Compiler for C supports arguments -Wno-unused-but-set-variable: YES
dpdk| Compiler for C supports arguments -Wno-unused-parameter: YES
dpdk| Compiler for C supports arguments -march=skylake-avx512: YES
dpdk| Compiler for C supports arguments -march=skylake-avx512: YES (cached)
dpdk| Compiler for C supports arguments -Wno-unused-but-set-variable: YES (cached)
dpdk| Compiler for C supports arguments -Wno-unused-variable: YES
dpdk| Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
dpdk| Compiler for C supports arguments -Wno-array-bounds: YES
dpdk| Compiler for C supports arguments -march=skylake-avx512: YES (cached)
dpdk| Compiler for C supports arguments -Wno-unused-value: YES (cached)
dpdk| Compiler for C supports arguments -Wno-unused-but-set-variable: YES (cached)
dpdk| Compiler for C supports arguments -Wno-unused-parameter: YES (cached)
dpdk| Compiler for C supports arguments -std=c11: YES (cached)
dpdk| Compiler for C supports arguments -Wno-strict-prototypes: YES (cached)
dpdk| Compiler for C supports arguments -D_BSD_SOURCE: YES (cached)
dpdk| Compiler for C supports arguments -D_DEFAULT_SOURCE: YES (cached)
dpdk| Compiler for C supports arguments -D_XOPEN_SOURCE=600: YES (cached)
dpdk| Header "linux/pkt_cls.h" has symbol "TCA_FLOWER_ACT" : YES
dpdk| Run-time dependency libbpf found: NO (tried pkgconfig)
dpdk| Message: net/tap: no RSS support missing libbpf
dpdk| Message: Disabling raw/* drivers: missing internal dependency "rawdev"
dpdk| Message: Disabling compress/* drivers: missing internal dependency "compressdev"
dpdk| Message: Disabling regex/* drivers: missing internal dependency "regexdev"
dpdk| Message: Disabling ml/* drivers: missing internal dependency "mldev"
dpdk| Message: Disabling event/* drivers: missing internal dependency "eventdev"
dpdk| Message: Disabling baseband/* drivers: missing internal dependency "bbdev"
dpdk| Message: Disabling gpu/* drivers: missing internal dependency "gpudev"
dpdk| Message: Disabling power/* drivers: missing internal dependency "power"
dpdk| Program doxygen found: NO
dpdk| Program sphinx-build found: NO
dpdk| Configuring rte_build_config.h using configuration
dpdk| Message: DPDK subproject linking: static
dpdk| Program dpdk-cmdline-gen.py found: YES (/home/nextgen/dev/grout/subprojects/dpdk/buildtools/subproject/../dpdk-cmdline-gen.py)
dpdk| Message:
dpdk| =================
dpdk| Applications Enabled
dpdk| =================
dpdk| apps:
dpdk| Message:
dpdk| =================
dpdk| Libraries Enabled
dpdk| =================
dpdk| libs:
dpdk| log, kvargs, telemetry, eal, ring, rcu, mempool, mbuf,
dpdk| net, meter, ethdev, pci, cmdline, hash, cryptodev, dmadev,
dpdk| gso, pcapng, rib, security, stack, vhost, fib, graph,
dpdk| Message:
dpdk| ===============
dpdk| Drivers Enabled
dpdk| ===============
dpdk| common:
dpdk| iavf, mlx5,
dpdk| bus:
dpdk| auxiliary, pci, vdev,
dpdk| mempool:
dpdk| ring,
dpdk| dma:
dpdk| net:
dpdk| i40e, iavf, ice, ixgbe, mlx5, null, tap, vhost,
dpdk| virtio,
dpdk| crypto:
dpdk| vdpa:
dpdk| Message:
dpdk| =================
dpdk| Content Skipped
dpdk| =================
dpdk| apps:
dpdk| dumpcap: explicitly disabled via build config
dpdk| graph: explicitly disabled via build config
dpdk| pdump: explicitly disabled via build config
dpdk| proc-info: explicitly disabled via build config
dpdk| test-acl: explicitly disabled via build config
dpdk| test-bbdev: explicitly disabled via build config
dpdk| test-cmdline: explicitly disabled via build config
dpdk| test-compress-perf: explicitly disabled via build config
dpdk| test-crypto-perf: explicitly disabled via build config
dpdk| test-dma-perf: explicitly disabled via build config
dpdk| test-eventdev: explicitly disabled via build config
dpdk| test-fib: explicitly disabled via build config
dpdk| test-flow-perf: explicitly disabled via build config
dpdk| test-gpudev: explicitly disabled via build config
dpdk| test-mldev: explicitly disabled via build config
dpdk| test-pipeline: explicitly disabled via build config
dpdk| test-pmd: explicitly disabled via build config
dpdk| test-regex: explicitly disabled via build config
dpdk| test-sad: explicitly disabled via build config
dpdk| test-security-perf: explicitly disabled via build config
dpdk| libs:
dpdk| argparse: not in enabled libraries build config
dpdk| ptr_compress: not in enabled libraries build config
dpdk| metrics: not in enabled libraries build config
dpdk| timer: not in enabled libraries build config
dpdk| acl: not in enabled libraries build config
dpdk| bbdev: not in enabled libraries build config
dpdk| bitratestats: not in enabled libraries build config
dpdk| bpf: not in enabled libraries build config
dpdk| cfgfile: not in enabled libraries build config
dpdk| compressdev: not in enabled libraries build config
dpdk| distributor: not in enabled libraries build config
dpdk| efd: not in enabled libraries build config
dpdk| eventdev: not in enabled libraries build config
dpdk| dispatcher: not in enabled libraries build config
dpdk| gpudev: not in enabled libraries build config
dpdk| gro: not in enabled libraries build config
dpdk| ip_frag: not in enabled libraries build config
dpdk| jobstats: not in enabled libraries build config
dpdk| latencystats: not in enabled libraries build config
dpdk| lpm: not in enabled libraries build config
dpdk| member: not in enabled libraries build config
dpdk| power: not in enabled libraries build config
dpdk| rawdev: not in enabled libraries build config
dpdk| regexdev: not in enabled libraries build config
dpdk| mldev: not in enabled libraries build config
dpdk| reorder: not in enabled libraries build config
dpdk| sched: not in enabled libraries build config
dpdk| ipsec: not in enabled libraries build config
dpdk| pdcp: not in enabled libraries build config
dpdk| port: not in enabled libraries build config
dpdk| pdump: not in enabled libraries build config
dpdk| table: not in enabled libraries build config
dpdk| pipeline: not in enabled libraries build config
dpdk| node: not in enabled libraries build config
dpdk| drivers:
dpdk| common/cpt: not in enabled drivers build config
dpdk| common/dpaax: not in enabled drivers build config
dpdk| common/idpf: not in enabled drivers build config
dpdk| common/ionic: not in enabled drivers build config
dpdk| common/mvep: not in enabled drivers build config
dpdk| common/octeontx: not in enabled drivers build config
dpdk| bus/cdx: not in enabled drivers build config
dpdk| bus/dpaa: not in enabled drivers build config
dpdk| bus/fslmc: not in enabled drivers build config
dpdk| bus/ifpga: not in enabled drivers build config
dpdk| bus/platform: not in enabled drivers build config
dpdk| bus/uacce: not in enabled drivers build config
dpdk| bus/vmbus: not in enabled drivers build config
dpdk| common/cnxk: not in enabled drivers build config
dpdk| common/nfp: not in enabled drivers build config
dpdk| common/nitrox: not in enabled drivers build config
dpdk| common/qat: not in enabled drivers build config
dpdk| common/sfc_efx: not in enabled drivers build config
dpdk| mempool/bucket: not in enabled drivers build config
dpdk| mempool/cnxk: not in enabled drivers build config
dpdk| mempool/dpaa: not in enabled drivers build config
dpdk| mempool/dpaa2: not in enabled drivers build config
dpdk| mempool/octeontx: not in enabled drivers build config
dpdk| mempool/stack: not in enabled drivers build config
dpdk| dma/cnxk: not in enabled drivers build config
dpdk| dma/dpaa: not in enabled drivers build config
dpdk| dma/dpaa2: not in enabled drivers build config
dpdk| dma/hisilicon: not in enabled drivers build config
dpdk| dma/idxd: not in enabled drivers build config
dpdk| dma/ioat: not in enabled drivers build config
dpdk| dma/odm: not in enabled drivers build config
dpdk| dma/skeleton: not in enabled drivers build config
dpdk| net/af_packet: not in enabled drivers build config
dpdk| net/af_xdp: not in enabled drivers build config
dpdk| net/ark: not in enabled drivers build config
dpdk| net/atlantic: not in enabled drivers build config
dpdk| net/avp: not in enabled drivers build config
dpdk| net/axgbe: not in enabled drivers build config
dpdk| net/bnx2x: not in enabled drivers build config
dpdk| net/bnxt: not in enabled drivers build config
dpdk| net/bonding: not in enabled drivers build config
dpdk| net/cnxk: not in enabled drivers build config
dpdk| net/cpfl: not in enabled drivers build config
dpdk| net/cxgbe: not in enabled drivers build config
dpdk| net/dpaa: not in enabled drivers build config
dpdk| net/dpaa2: not in enabled drivers build config
dpdk| net/e1000: not in enabled drivers build config
dpdk| net/ena: not in enabled drivers build config
dpdk| net/enetc: not in enabled drivers build config
dpdk| net/enetfec: not in enabled drivers build config
dpdk| net/enic: not in enabled drivers build config
dpdk| net/failsafe: not in enabled drivers build config
dpdk| net/fm10k: not in enabled drivers build config
dpdk| net/gve: not in enabled drivers build config
dpdk| net/hinic: not in enabled drivers build config
dpdk| net/hns3: not in enabled drivers build config
dpdk| net/idpf: not in enabled drivers build config
dpdk| net/igc: not in enabled drivers build config
dpdk| net/ionic: not in enabled drivers build config
dpdk| net/ipn3ke: not in enabled drivers build config
dpdk| net/mana: not in enabled drivers build config
dpdk| net/memif: not in enabled drivers build config
dpdk| net/mlx4: not in enabled drivers build config
dpdk| net/mvneta: not in enabled drivers build config
dpdk| net/mvpp2: not in enabled drivers build config
dpdk| net/netvsc: not in enabled drivers build config
dpdk| net/nfb: not in enabled drivers build config
dpdk| net/nfp: not in enabled drivers build config
dpdk| net/ngbe: not in enabled drivers build config
dpdk| net/ntnic: not in enabled drivers build config
dpdk| net/octeontx: not in enabled drivers build config
dpdk| net/octeon_ep: not in enabled drivers build config
dpdk| net/pcap: not in enabled drivers build config
dpdk| net/pfe: not in enabled drivers build config
dpdk| net/qede: not in enabled drivers build config
dpdk| net/r8169: not in enabled drivers build config
dpdk| net/ring: not in enabled drivers build config
dpdk| net/sfc: not in enabled drivers build config
dpdk| net/softnic: not in enabled drivers build config
dpdk| net/thunderx: not in enabled drivers build config
dpdk| net/txgbe: not in enabled drivers build config
dpdk| net/vdev_netvsc: not in enabled drivers build config
dpdk| net/vmxnet3: not in enabled drivers build config
dpdk| net/zxdh: not in enabled drivers build config
dpdk| raw/*: missing internal dependency, "rawdev"
dpdk| crypto/armv8: not in enabled drivers build config
dpdk| crypto/bcmfs: not in enabled drivers build config
dpdk| crypto/caam_jr: not in enabled drivers build config
dpdk| crypto/ccp: not in enabled drivers build config
dpdk| crypto/cnxk: not in enabled drivers build config
dpdk| crypto/dpaa_sec: not in enabled drivers build config
dpdk| crypto/dpaa2_sec: not in enabled drivers build config
dpdk| crypto/ionic: not in enabled drivers build config
dpdk| crypto/ipsec_mb: not in enabled drivers build config
dpdk| crypto/mlx5: not in enabled drivers build config
dpdk| crypto/mvsam: not in enabled drivers build config
dpdk| crypto/nitrox: not in enabled drivers build config
dpdk| crypto/null: not in enabled drivers build config
dpdk| crypto/octeontx: not in enabled drivers build config
dpdk| crypto/openssl: not in enabled drivers build config
dpdk| crypto/scheduler: not in enabled drivers build config
dpdk| crypto/uadk: not in enabled drivers build config
dpdk| crypto/virtio: not in enabled drivers build config
dpdk| compress/*: missing internal dependency, "compressdev"
dpdk| regex/*: missing internal dependency, "regexdev"
dpdk| ml/*: missing internal dependency, "mldev"
dpdk| vdpa/ifc: not in enabled drivers build config
dpdk| vdpa/mlx5: not in enabled drivers build config
dpdk| vdpa/nfp: not in enabled drivers build config
dpdk| vdpa/sfc: not in enabled drivers build config
dpdk| event/*: missing internal dependency, "eventdev"
dpdk| baseband/*: missing internal dependency, "bbdev"
dpdk| gpu/*: missing internal dependency, "gpudev"
dpdk| power/*: missing internal dependency, "power"
dpdk| Message: DPDK build config complete:
dpdk| source path = "/home/nextgen/dev/grout/subprojects/dpdk"
dpdk| build path = "/home/nextgen/dev/grout/build/subprojects/dpdk"
dpdk| Build targets in project: 120
dpdk| Subproject dpdk finished.
Dependency libdpdk from subproject subprojects/dpdk found: YES 24.11.1
Run-time dependency libevent_core found: YES 2.1.12-stable
Run-time dependency libevent_pthreads found: YES 2.1.12-stable
Run-time dependency numa found: YES 2.1
Run-time dependency libecoli found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency libecoli
Cloning into 'ecoli'...
remote: Enumerating objects: 128, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (110/110), done.
remote: Total 128 (delta 25), reused 82 (delta 16), pack-reused 0 (from 0)
Receiving objects: 100% (128/128), 141.12 KiB | 1.99 MiB/s, done.
Resolving deltas: 100% (25/25), done.
Executing subproject ecoli
ecoli| Project name: libecoli
ecoli| Project version: 0.5.0
ecoli| C compiler for the host machine: cc (gcc 11.5.0 "cc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-2)")
ecoli| C linker for the host machine: cc ld.bfd 2.35.2-54
ecoli| Run-time dependency libedit found: YES 3.1
ecoli| Dependency yaml-0.1 skipped: feature yaml disabled
ecoli| Dependency readline skipped: feature examples disabled
ecoli| Program doxygen skipped: feature doc disabled
ecoli| Build targets in project: 121
ecoli| Subproject ecoli finished.
Dependency libecoli from subproject subprojects/ecoli found: YES 0.5.0
Run-time dependency smartcols found: YES 2.37.4
Program go-md2man found: YES (/usr/bin/go-md2man)
Configuring grcli.1.md using configuration
Configuring grout.8.md using configuration
Configuring gr_version.h using configuration
Run-time dependency cmocka found: YES 1.1.5
Build targets in project: 130
grout v0.7.1-39-ged04fdd0
Subprojects
dpdk : YES
ecoli : YES
User defined options
buildtype : debugoptimized
warning_level: 2
werror : True
b_sanitize : none
Found ninja-1.10.2 at /usr/bin/ninja
ninja: Entering directory `build'
[282/735] Compiling C object grout.p/modules_infra_control_mempool.c.o
FAILED: grout.p/modules_infra_control_mempool.c.o
cc -Igrout.p -I. -I.. -Imain -I../main -Imodules/infra/control -I../modules/infra/control -Imodules/infra/datapath -I../modules/infra/datapath -Imodules/ip/control -I../modules/ip/control -Imodules/ip/datapath -I../modules/ip/datapath -Imodules/ip6/control -I../modules/ip6/control -Imodules/ip6/datapath -I../modules/ip6/datapath -Imodules/ipip -I../modules/ipip -Imodules/l4 -I../modules/l4 -Imodules/srv6 -I../modules/srv6 -Iapi -I../api -Imodules/infra/api -I../modules/infra/api -Imodules/ip/api -I../modules/ip/api -Imodules/ip6/api -I../modules/ip6/api -Isubprojects/dpdk -I../subprojects/dpdk -Isubprojects/dpdk/config -I../subprojects/dpdk/config -Isubprojects/dpdk/lib/eal/include -I../subprojects/dpdk/lib/eal/include -Isubprojects/dpdk/lib/eal/linux/include -I../subprojects/dpdk/lib/eal/linux/include -Isubprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/kernel/linux -Isubprojects/dpdk/lib/log -I../subprojects/dpdk/lib/log -Isubprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/metrics -Isubprojects/dpdk/lib/telemetry -I../subprojects/dpdk/lib/telemetry -Isubprojects/dpdk/lib/eal/common -I../subprojects/dpdk/lib/eal/common -Isubprojects/dpdk/lib/eal -I../subprojects/dpdk/lib/eal -Isubprojects/dpdk/lib/ring -I../subprojects/dpdk/lib/ring -Isubprojects/dpdk/lib/rcu -I../subprojects/dpdk/lib/rcu -Isubprojects/dpdk/lib/mempool -I../subprojects/dpdk/lib/mempool -Isubprojects/dpdk/lib/mbuf -I../subprojects/dpdk/lib/mbuf -Isubprojects/dpdk/lib/net -I../subprojects/dpdk/lib/net -Isubprojects/dpdk/lib/meter -I../subprojects/dpdk/lib/meter -Isubprojects/dpdk/lib/ethdev -I../subprojects/dpdk/lib/ethdev -Isubprojects/dpdk/lib/pci -I../subprojects/dpdk/lib/pci -Isubprojects/dpdk/lib/cmdline -I../subprojects/dpdk/lib/cmdline -Isubprojects/dpdk/lib/hash -I../subprojects/dpdk/lib/hash -Isubprojects/dpdk/lib/cryptodev -I../subprojects/dpdk/lib/cryptodev -Isubprojects/dpdk/lib/dmadev -I../subprojects/dpdk/lib/dmadev -Isubprojects/dpdk/lib/gso -I../subprojects/dpdk/lib/gso -Isubprojects/dpdk/lib/pcapng -I../subprojects/dpdk/lib/pcapng -Isubprojects/dpdk/lib/rib -I../subprojects/dpdk/lib/rib -Isubprojects/dpdk/lib/security -I../subprojects/dpdk/lib/security -Isubprojects/dpdk/lib/stack -I../subprojects/dpdk/lib/stack -Isubprojects/dpdk/lib/vhost -I../subprojects/dpdk/lib/vhost -Isubprojects/dpdk/lib/fib -I../subprojects/dpdk/lib/fib -Isubprojects/dpdk/lib/graph -I../subprojects/dpdk/lib/graph -Isubprojects/dpdk/drivers/common/iavf -I../subprojects/dpdk/drivers/common/iavf -Isubprojects/dpdk/drivers/bus/auxiliary -I../subprojects/dpdk/drivers/bus/auxiliary -Isubprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci/linux -Isubprojects/dpdk/drivers/bus/vdev -I../subprojects/dpdk/drivers/bus/vdev -Isubprojects/dpdk/drivers/common/mlx5 -I../subprojects/dpdk/drivers/common/mlx5 -Isubprojects/dpdk/drivers/common/mlx5/linux -I../subprojects/dpdk/drivers/common/mlx5/linux -Isubprojects/dpdk/drivers/mempool/ring -I../subprojects/dpdk/drivers/mempool/ring -Isubprojects/dpdk/drivers/net/i40e -I../subprojects/dpdk/drivers/net/i40e -Isubprojects/dpdk/drivers/net/i40e/base -I../subprojects/dpdk/drivers/net/i40e/base -Isubprojects/dpdk/drivers/net/iavf -I../subprojects/dpdk/drivers/net/iavf -Isubprojects/dpdk/drivers/net/ice -I../subprojects/dpdk/drivers/net/ice -Isubprojects/dpdk/drivers/net/ice/base -I../subprojects/dpdk/drivers/net/ice/base -Isubprojects/dpdk/drivers/net/ixgbe -I../subprojects/dpdk/drivers/net/ixgbe -Isubprojects/dpdk/drivers/net/ixgbe/base -I../subprojects/dpdk/drivers/net/ixgbe/base -Isubprojects/dpdk/drivers/net/mlx5 -I../subprojects/dpdk/drivers/net/mlx5 -Isubprojects/dpdk/drivers/net/mlx5/linux -I../subprojects/dpdk/drivers/net/mlx5/linux -Isubprojects/dpdk/drivers/net/mlx5/hws -I../subprojects/dpdk/drivers/net/mlx5/hws -Isubprojects/dpdk/drivers/net/null -I../subprojects/dpdk/drivers/net/null -Isubprojects/dpdk/drivers/net/tap -I../subprojects/dpdk/drivers/net/tap -Isubprojects/dpdk/drivers/net/vhost -I../subprojects/dpdk/drivers/net/vhost -Isubprojects/dpdk/drivers/net/virtio -I../subprojects/dpdk/drivers/net/virtio -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=gnu2x -O2 -g -DALLOW_EXPERIMENTAL_API -D_GNU_SOURCE -Wmissing-prototypes -Wno-microsoft -Wstrict-aliasing=2 -fms-extensions -fstrict-aliasing -Wno-format-truncation -include rte_config.h -march=native -mrtm -D__GROUT_MAIN__ -MD -MQ grout.p/modules_infra_control_mempool.c.o -MF grout.p/modules_infra_control_mempool.c.o.d -o grout.p/modules_infra_control_mempool.c.o -c ../modules/infra/control/mempool.c
In file included from ../modules/infra/datapath/gr_trace.h:8,
from ../modules/infra/control/gr_graph.h:7,
from ../modules/infra/datapath/gr_mbuf.h:7,
from ../modules/infra/control/mempool.c:5:
../modules/infra/datapath/gr_icmp6.h:18:14: error: expected ‘{’ before ‘:’ token
18 | typedef enum : uint8_t {
| ^
../modules/infra/datapath/gr_icmp6.h:30:3: error: data definition has no type or storage class [-Werror]
30 | } icmp6_type_t;
| ^~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:30:3: error: type defaults to ‘int’ in declaration of ‘icmp6_type_t’ [-Werror=implicit-int]
../modules/infra/datapath/gr_icmp6.h:36:9: error: expected specifier-qualifier-list before ‘icmp6_type_t’
36 | icmp6_type_t type;
| ^~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:112:14: error: expected ‘{’ before ‘:’ token
112 | typedef enum : uint8_t {
| ^
../modules/infra/datapath/gr_icmp6.h:118:3: error: data definition has no type or storage class [-Werror]
118 | } icmp6_opt_t;
| ^~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:118:3: error: type defaults to ‘int’ in declaration of ‘icmp6_opt_t’ [-Werror=implicit-int]
../modules/infra/datapath/gr_icmp6.h:121:9: error: expected specifier-qualifier-list before ‘icmp6_opt_t’
121 | icmp6_opt_t type;
| ^~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h: In function ‘icmp6_get_opt’:
../modules/infra/datapath/gr_icmp6.h:139:24: error: ‘const struct icmp6_opt’ has no member named ‘type’
139 | if (opt->type != type)
| ^~
../modules/infra/datapath/gr_icmp6.h:142:28: error: ‘const struct icmp6_opt’ has no member named ‘type’
142 | switch (opt->type) {
| ^~
../modules/infra/datapath/gr_icmp6.h:143:22: error: ‘ICMP6_OPT_TARGET_LLADDR’ undeclared (first use in this function)
143 | case ICMP6_OPT_TARGET_LLADDR:
| ^~~~~~~~~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:143:22: note: each undeclared identifier is reported only once for each function it appears in
../modules/infra/datapath/gr_icmp6.h:144:22: error: ‘ICMP6_OPT_SRC_LLADDR’ undeclared (first use in this function)
144 | case ICMP6_OPT_SRC_LLADDR:
| ^~~~~~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:145:32: error: converting a packed ‘const struct icmp6_opt’ pointer (alignment 1) to a ‘struct icmp6_opt_lladdr’ pointer (alignment 2) may result in an unaligned pointer value [-Werror=address-of-packed-member]
145 | struct icmp6_opt_lladdr *ll = PAYLOAD(opt);
| ^~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:130:8: note: defined here
130 | struct icmp6_opt_lladdr {
| ^~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:152:30: error: ‘const struct icmp6_opt’ has no member named ‘len’
152 | offset += opt->len * 8;
| ^~
../modules/infra/control/mempool.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-microsoft’ may have been intended to silence earlier diagnostics
cc1: all warnings being treated as errors
[285/735] Compiling C object grout.p/modules_infra_api_rxq.c.o
FAILED: grout.p/modules_infra_api_rxq.c.o
cc -Igrout.p -I. -I.. -Imain -I../main -Imodules/infra/control -I../modules/infra/control -Imodules/infra/datapath -I../modules/infra/datapath -Imodules/ip/control -I../modules/ip/control -Imodules/ip/datapath -I../modules/ip/datapath -Imodules/ip6/control -I../modules/ip6/control -Imodules/ip6/datapath -I../modules/ip6/datapath -Imodules/ipip -I../modules/ipip -Imodules/l4 -I../modules/l4 -Imodules/srv6 -I../modules/srv6 -Iapi -I../api -Imodules/infra/api -I../modules/infra/api -Imodules/ip/api -I../modules/ip/api -Imodules/ip6/api -I../modules/ip6/api -Isubprojects/dpdk -I../subprojects/dpdk -Isubprojects/dpdk/config -I../subprojects/dpdk/config -Isubprojects/dpdk/lib/eal/include -I../subprojects/dpdk/lib/eal/include -Isubprojects/dpdk/lib/eal/linux/include -I../subprojects/dpdk/lib/eal/linux/include -Isubprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/kernel/linux -Isubprojects/dpdk/lib/log -I../subprojects/dpdk/lib/log -Isubprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/metrics -Isubprojects/dpdk/lib/telemetry -I../subprojects/dpdk/lib/telemetry -Isubprojects/dpdk/lib/eal/common -I../subprojects/dpdk/lib/eal/common -Isubprojects/dpdk/lib/eal -I../subprojects/dpdk/lib/eal -Isubprojects/dpdk/lib/ring -I../subprojects/dpdk/lib/ring -Isubprojects/dpdk/lib/rcu -I../subprojects/dpdk/lib/rcu -Isubprojects/dpdk/lib/mempool -I../subprojects/dpdk/lib/mempool -Isubprojects/dpdk/lib/mbuf -I../subprojects/dpdk/lib/mbuf -Isubprojects/dpdk/lib/net -I../subprojects/dpdk/lib/net -Isubprojects/dpdk/lib/meter -I../subprojects/dpdk/lib/meter -Isubprojects/dpdk/lib/ethdev -I../subprojects/dpdk/lib/ethdev -Isubprojects/dpdk/lib/pci -I../subprojects/dpdk/lib/pci -Isubprojects/dpdk/lib/cmdline -I../subprojects/dpdk/lib/cmdline -Isubprojects/dpdk/lib/hash -I../subprojects/dpdk/lib/hash -Isubprojects/dpdk/lib/cryptodev -I../subprojects/dpdk/lib/cryptodev -Isubprojects/dpdk/lib/dmadev -I../subprojects/dpdk/lib/dmadev -Isubprojects/dpdk/lib/gso -I../subprojects/dpdk/lib/gso -Isubprojects/dpdk/lib/pcapng -I../subprojects/dpdk/lib/pcapng -Isubprojects/dpdk/lib/rib -I../subprojects/dpdk/lib/rib -Isubprojects/dpdk/lib/security -I../subprojects/dpdk/lib/security -Isubprojects/dpdk/lib/stack -I../subprojects/dpdk/lib/stack -Isubprojects/dpdk/lib/vhost -I../subprojects/dpdk/lib/vhost -Isubprojects/dpdk/lib/fib -I../subprojects/dpdk/lib/fib -Isubprojects/dpdk/lib/graph -I../subprojects/dpdk/lib/graph -Isubprojects/dpdk/drivers/common/iavf -I../subprojects/dpdk/drivers/common/iavf -Isubprojects/dpdk/drivers/bus/auxiliary -I../subprojects/dpdk/drivers/bus/auxiliary -Isubprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci/linux -Isubprojects/dpdk/drivers/bus/vdev -I../subprojects/dpdk/drivers/bus/vdev -Isubprojects/dpdk/drivers/common/mlx5 -I../subprojects/dpdk/drivers/common/mlx5 -Isubprojects/dpdk/drivers/common/mlx5/linux -I../subprojects/dpdk/drivers/common/mlx5/linux -Isubprojects/dpdk/drivers/mempool/ring -I../subprojects/dpdk/drivers/mempool/ring -Isubprojects/dpdk/drivers/net/i40e -I../subprojects/dpdk/drivers/net/i40e -Isubprojects/dpdk/drivers/net/i40e/base -I../subprojects/dpdk/drivers/net/i40e/base -Isubprojects/dpdk/drivers/net/iavf -I../subprojects/dpdk/drivers/net/iavf -Isubprojects/dpdk/drivers/net/ice -I../subprojects/dpdk/drivers/net/ice -Isubprojects/dpdk/drivers/net/ice/base -I../subprojects/dpdk/drivers/net/ice/base -Isubprojects/dpdk/drivers/net/ixgbe -I../subprojects/dpdk/drivers/net/ixgbe -Isubprojects/dpdk/drivers/net/ixgbe/base -I../subprojects/dpdk/drivers/net/ixgbe/base -Isubprojects/dpdk/drivers/net/mlx5 -I../subprojects/dpdk/drivers/net/mlx5 -Isubprojects/dpdk/drivers/net/mlx5/linux -I../subprojects/dpdk/drivers/net/mlx5/linux -Isubprojects/dpdk/drivers/net/mlx5/hws -I../subprojects/dpdk/drivers/net/mlx5/hws -Isubprojects/dpdk/drivers/net/null -I../subprojects/dpdk/drivers/net/null -Isubprojects/dpdk/drivers/net/tap -I../subprojects/dpdk/drivers/net/tap -Isubprojects/dpdk/drivers/net/vhost -I../subprojects/dpdk/drivers/net/vhost -Isubprojects/dpdk/drivers/net/virtio -I../subprojects/dpdk/drivers/net/virtio -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=gnu2x -O2 -g -DALLOW_EXPERIMENTAL_API -D_GNU_SOURCE -Wmissing-prototypes -Wno-microsoft -Wstrict-aliasing=2 -fms-extensions -fstrict-aliasing -Wno-format-truncation -include rte_config.h -march=native -mrtm -D__GROUT_MAIN__ -MD -MQ grout.p/modules_infra_api_rxq.c.o -MF grout.p/modules_infra_api_rxq.c.o.d -o grout.p/modules_infra_api_rxq.c.o -c ../modules/infra/api/rxq.c
In file included from ../modules/infra/api/rxq.c:5:
../modules/infra/api/gr_infra.h:17:14: error: expected ‘{’ before ‘:’ token
17 | typedef enum : uint8_t {
| ^
../modules/infra/api/gr_infra.h:24:3: error: data definition has no type or storage class [-Werror]
24 | } gr_iface_type_t;
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:24:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_type_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:27:14: error: expected ‘{’ before ‘:’ token
27 | typedef enum : uint16_t {
| ^
../modules/infra/api/gr_infra.h:32:3: error: data definition has no type or storage class [-Werror]
32 | } gr_iface_flags_t;
| ^~~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:32:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_flags_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:35:14: error: expected ‘{’ before ‘:’ token
35 | typedef enum : uint16_t {
| ^
../modules/infra/api/gr_infra.h:37:3: error: data definition has no type or storage class [-Werror]
37 | } gr_iface_state_t;
| ^~~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:37:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_state_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:51:14: error: expected ‘{’ before ‘:’ token
51 | typedef enum : uint8_t {
| ^
../modules/infra/api/gr_infra.h:55:3: error: data definition has no type or storage class [-Werror]
55 | } gr_iface_mode_t;
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:55:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_mode_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:60:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
60 | gr_iface_type_t type; // Interface type. Uses values from GR_IFACE_TYPE_*.
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:74:30: error: expected declaration specifiers or ‘...’ before ‘gr_iface_mode_t’
74 | void register_interface_mode(gr_iface_mode_t mode, const char *next_node);
| ^~~~~~~~~~~~~~~
In file included from ../modules/infra/api/gr_infra.h:9,
from ../modules/infra/api/rxq.c:5:
../api/gr_macro.h:10:54: error: ‘struct gr_iface’ has no member named ‘info’
10 | #define MEMBER_SIZE(type, member) (sizeof(((type *)0)->member))
| ^~
../modules/infra/api/gr_infra.h:95:52: note: in expansion of macro ‘MEMBER_SIZE’
95 | static_assert(sizeof(struct gr_iface_info_port) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~~~~~~
In file included from ../modules/infra/api/rxq.c:5:
../modules/infra/api/gr_infra.h:95:15: error: expression in static assertion is not an integer
95 | static_assert(sizeof(struct gr_iface_info_port) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~
In file included from ../modules/infra/api/gr_infra.h:9,
from ../modules/infra/api/rxq.c:5:
../api/gr_macro.h:10:54: error: ‘struct gr_iface’ has no member named ‘info’
10 | #define MEMBER_SIZE(type, member) (sizeof(((type *)0)->member))
| ^~
../modules/infra/api/gr_infra.h:109:52: note: in expansion of macro ‘MEMBER_SIZE’
109 | static_assert(sizeof(struct gr_iface_info_vlan) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~~~~~~
In file included from ../modules/infra/api/rxq.c:5:
../modules/infra/api/gr_infra.h:109:15: error: expression in static assertion is not an integer
109 | static_assert(sizeof(struct gr_iface_info_vlan) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~
../modules/infra/api/gr_infra.h:170:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
170 | gr_iface_type_t type; // use GR_IFACE_TYPE_UNDEF for all
| ^~~~~~~~~~~~~~~
In file included from ../modules/infra/control/gr_port.h:8,
from ../modules/infra/api/rxq.c:7:
../modules/infra/control/gr_iface.h:18:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
18 | gr_iface_type_t type_id;
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:61:35: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
61 | struct iface_type *iface_type_get(gr_iface_type_t type_id);
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:76:23: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
76 | uint16_t ifaces_count(gr_iface_type_t type_id);
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:77:26: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
77 | struct iface *iface_next(gr_iface_type_t type_id, const struct iface *prev);
| ^~~~~~~~~~~~~~~
In file included from ../modules/infra/datapath/gr_trace.h:8,
from ../modules/infra/control/gr_graph.h:7,
from ../modules/infra/control/gr_worker.h:7,
from ../modules/infra/api/rxq.c:9:
../modules/infra/datapath/gr_icmp6.h:18:14: error: expected ‘{’ before ‘:’ token
18 | typedef enum : uint8_t {
| ^
../modules/infra/datapath/gr_icmp6.h:30:3: error: data definition has no type or storage class [-Werror]
30 | } icmp6_type_t;
| ^~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:30:3: error: type defaults to ‘int’ in declaration of ‘icmp6_type_t’ [-Werror=implicit-int]
../modules/infra/datapath/gr_icmp6.h:36:9: error: expected specifier-qualifier-list before ‘icmp6_type_t’
36 | icmp6_type_t type;
| ^~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:112:14: error: expected ‘{’ before ‘:’ token
112 | typedef enum : uint8_t {
| ^
../modules/infra/datapath/gr_icmp6.h:118:3: error: data definition has no type or storage class [-Werror]
118 | } icmp6_opt_t;
| ^~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:118:3: error: type defaults to ‘int’ in declaration of ‘icmp6_opt_t’ [-Werror=implicit-int]
../modules/infra/datapath/gr_icmp6.h:121:9: error: expected specifier-qualifier-list before ‘icmp6_opt_t’
121 | icmp6_opt_t type;
| ^~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h: In function ‘icmp6_get_opt’:
../modules/infra/datapath/gr_icmp6.h:139:24: error: ‘const struct icmp6_opt’ has no member named ‘type’
139 | if (opt->type != type)
| ^~
../modules/infra/datapath/gr_icmp6.h:142:28: error: ‘const struct icmp6_opt’ has no member named ‘type’
142 | switch (opt->type) {
| ^~
../modules/infra/datapath/gr_icmp6.h:143:22: error: ‘ICMP6_OPT_TARGET_LLADDR’ undeclared (first use in this function)
143 | case ICMP6_OPT_TARGET_LLADDR:
| ^~~~~~~~~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:143:22: note: each undeclared identifier is reported only once for each function it appears in
../modules/infra/datapath/gr_icmp6.h:144:22: error: ‘ICMP6_OPT_SRC_LLADDR’ undeclared (first use in this function)
144 | case ICMP6_OPT_SRC_LLADDR:
| ^~~~~~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:145:32: error: converting a packed ‘const struct icmp6_opt’ pointer (alignment 1) to a ‘struct icmp6_opt_lladdr’ pointer (alignment 2) may result in an unaligned pointer value [-Werror=address-of-packed-member]
145 | struct icmp6_opt_lladdr *ll = PAYLOAD(opt);
| ^~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:130:8: note: defined here
130 | struct icmp6_opt_lladdr {
| ^~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:152:30: error: ‘const struct icmp6_opt’ has no member named ‘len’
152 | offset += opt->len * 8;
| ^~
../modules/infra/api/rxq.c: In function ‘rxq_set’:
../modules/infra/api/rxq.c:56:47: error: ‘struct iface’ has no member named ‘info’
56 | port = (struct iface_info_port *)iface->info;
| ^~
../modules/infra/api/rxq.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-microsoft’ may have been intended to silence earlier diagnostics
cc1: all warnings being treated as errors
[287/735] Compiling C object grout.p/modules_infra_control_iface.c.o
FAILED: grout.p/modules_infra_control_iface.c.o
cc -Igrout.p -I. -I.. -Imain -I../main -Imodules/infra/control -I../modules/infra/control -Imodules/infra/datapath -I../modules/infra/datapath -Imodules/ip/control -I../modules/ip/control -Imodules/ip/datapath -I../modules/ip/datapath -Imodules/ip6/control -I../modules/ip6/control -Imodules/ip6/datapath -I../modules/ip6/datapath -Imodules/ipip -I../modules/ipip -Imodules/l4 -I../modules/l4 -Imodules/srv6 -I../modules/srv6 -Iapi -I../api -Imodules/infra/api -I../modules/infra/api -Imodules/ip/api -I../modules/ip/api -Imodules/ip6/api -I../modules/ip6/api -Isubprojects/dpdk -I../subprojects/dpdk -Isubprojects/dpdk/config -I../subprojects/dpdk/config -Isubprojects/dpdk/lib/eal/include -I../subprojects/dpdk/lib/eal/include -Isubprojects/dpdk/lib/eal/linux/include -I../subprojects/dpdk/lib/eal/linux/include -Isubprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/kernel/linux -Isubprojects/dpdk/lib/log -I../subprojects/dpdk/lib/log -Isubprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/metrics -Isubprojects/dpdk/lib/telemetry -I../subprojects/dpdk/lib/telemetry -Isubprojects/dpdk/lib/eal/common -I../subprojects/dpdk/lib/eal/common -Isubprojects/dpdk/lib/eal -I../subprojects/dpdk/lib/eal -Isubprojects/dpdk/lib/ring -I../subprojects/dpdk/lib/ring -Isubprojects/dpdk/lib/rcu -I../subprojects/dpdk/lib/rcu -Isubprojects/dpdk/lib/mempool -I../subprojects/dpdk/lib/mempool -Isubprojects/dpdk/lib/mbuf -I../subprojects/dpdk/lib/mbuf -Isubprojects/dpdk/lib/net -I../subprojects/dpdk/lib/net -Isubprojects/dpdk/lib/meter -I../subprojects/dpdk/lib/meter -Isubprojects/dpdk/lib/ethdev -I../subprojects/dpdk/lib/ethdev -Isubprojects/dpdk/lib/pci -I../subprojects/dpdk/lib/pci -Isubprojects/dpdk/lib/cmdline -I../subprojects/dpdk/lib/cmdline -Isubprojects/dpdk/lib/hash -I../subprojects/dpdk/lib/hash -Isubprojects/dpdk/lib/cryptodev -I../subprojects/dpdk/lib/cryptodev -Isubprojects/dpdk/lib/dmadev -I../subprojects/dpdk/lib/dmadev -Isubprojects/dpdk/lib/gso -I../subprojects/dpdk/lib/gso -Isubprojects/dpdk/lib/pcapng -I../subprojects/dpdk/lib/pcapng -Isubprojects/dpdk/lib/rib -I../subprojects/dpdk/lib/rib -Isubprojects/dpdk/lib/security -I../subprojects/dpdk/lib/security -Isubprojects/dpdk/lib/stack -I../subprojects/dpdk/lib/stack -Isubprojects/dpdk/lib/vhost -I../subprojects/dpdk/lib/vhost -Isubprojects/dpdk/lib/fib -I../subprojects/dpdk/lib/fib -Isubprojects/dpdk/lib/graph -I../subprojects/dpdk/lib/graph -Isubprojects/dpdk/drivers/common/iavf -I../subprojects/dpdk/drivers/common/iavf -Isubprojects/dpdk/drivers/bus/auxiliary -I../subprojects/dpdk/drivers/bus/auxiliary -Isubprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci/linux -Isubprojects/dpdk/drivers/bus/vdev -I../subprojects/dpdk/drivers/bus/vdev -Isubprojects/dpdk/drivers/common/mlx5 -I../subprojects/dpdk/drivers/common/mlx5 -Isubprojects/dpdk/drivers/common/mlx5/linux -I../subprojects/dpdk/drivers/common/mlx5/linux -Isubprojects/dpdk/drivers/mempool/ring -I../subprojects/dpdk/drivers/mempool/ring -Isubprojects/dpdk/drivers/net/i40e -I../subprojects/dpdk/drivers/net/i40e -Isubprojects/dpdk/drivers/net/i40e/base -I../subprojects/dpdk/drivers/net/i40e/base -Isubprojects/dpdk/drivers/net/iavf -I../subprojects/dpdk/drivers/net/iavf -Isubprojects/dpdk/drivers/net/ice -I../subprojects/dpdk/drivers/net/ice -Isubprojects/dpdk/drivers/net/ice/base -I../subprojects/dpdk/drivers/net/ice/base -Isubprojects/dpdk/drivers/net/ixgbe -I../subprojects/dpdk/drivers/net/ixgbe -Isubprojects/dpdk/drivers/net/ixgbe/base -I../subprojects/dpdk/drivers/net/ixgbe/base -Isubprojects/dpdk/drivers/net/mlx5 -I../subprojects/dpdk/drivers/net/mlx5 -Isubprojects/dpdk/drivers/net/mlx5/linux -I../subprojects/dpdk/drivers/net/mlx5/linux -Isubprojects/dpdk/drivers/net/mlx5/hws -I../subprojects/dpdk/drivers/net/mlx5/hws -Isubprojects/dpdk/drivers/net/null -I../subprojects/dpdk/drivers/net/null -Isubprojects/dpdk/drivers/net/tap -I../subprojects/dpdk/drivers/net/tap -Isubprojects/dpdk/drivers/net/vhost -I../subprojects/dpdk/drivers/net/vhost -Isubprojects/dpdk/drivers/net/virtio -I../subprojects/dpdk/drivers/net/virtio -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=gnu2x -O2 -g -DALLOW_EXPERIMENTAL_API -D_GNU_SOURCE -Wmissing-prototypes -Wno-microsoft -Wstrict-aliasing=2 -fms-extensions -fstrict-aliasing -Wno-format-truncation -include rte_config.h -march=native -mrtm -D__GROUT_MAIN__ -MD -MQ grout.p/modules_infra_control_iface.c.o -MF grout.p/modules_infra_control_iface.c.o.d -o grout.p/modules_infra_control_iface.c.o -c ../modules/infra/control/iface.c
In file included from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/control/iface.c:5:
../modules/infra/api/gr_infra.h:17:14: error: expected ‘{’ before ‘:’ token
17 | typedef enum : uint8_t {
| ^
../modules/infra/api/gr_infra.h:24:3: error: data definition has no type or storage class [-Werror]
24 | } gr_iface_type_t;
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:24:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_type_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:27:14: error: expected ‘{’ before ‘:’ token
27 | typedef enum : uint16_t {
| ^
../modules/infra/api/gr_infra.h:32:3: error: data definition has no type or storage class [-Werror]
32 | } gr_iface_flags_t;
| ^~~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:32:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_flags_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:35:14: error: expected ‘{’ before ‘:’ token
35 | typedef enum : uint16_t {
| ^
../modules/infra/api/gr_infra.h:37:3: error: data definition has no type or storage class [-Werror]
37 | } gr_iface_state_t;
| ^~~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:37:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_state_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:51:14: error: expected ‘{’ before ‘:’ token
51 | typedef enum : uint8_t {
| ^
../modules/infra/api/gr_infra.h:55:3: error: data definition has no type or storage class [-Werror]
55 | } gr_iface_mode_t;
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:55:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_mode_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:60:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
60 | gr_iface_type_t type; // Interface type. Uses values from GR_IFACE_TYPE_*.
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:74:30: error: expected declaration specifiers or ‘...’ before ‘gr_iface_mode_t’
74 | void register_interface_mode(gr_iface_mode_t mode, const char *next_node);
| ^~~~~~~~~~~~~~~
In file included from ../modules/infra/api/gr_infra.h:9,
from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/control/iface.c:5:
../api/gr_macro.h:10:54: error: ‘struct gr_iface’ has no member named ‘info’
10 | #define MEMBER_SIZE(type, member) (sizeof(((type *)0)->member))
| ^~
../modules/infra/api/gr_infra.h:95:52: note: in expansion of macro ‘MEMBER_SIZE’
95 | static_assert(sizeof(struct gr_iface_info_port) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~~~~~~
In file included from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/control/iface.c:5:
../modules/infra/api/gr_infra.h:95:15: error: expression in static assertion is not an integer
95 | static_assert(sizeof(struct gr_iface_info_port) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~
In file included from ../modules/infra/api/gr_infra.h:9,
from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/control/iface.c:5:
../api/gr_macro.h:10:54: error: ‘struct gr_iface’ has no member named ‘info’
10 | #define MEMBER_SIZE(type, member) (sizeof(((type *)0)->member))
| ^~
../modules/infra/api/gr_infra.h:109:52: note: in expansion of macro ‘MEMBER_SIZE’
109 | static_assert(sizeof(struct gr_iface_info_vlan) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~~~~~~
In file included from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/control/iface.c:5:
../modules/infra/api/gr_infra.h:109:15: error: expression in static assertion is not an integer
109 | static_assert(sizeof(struct gr_iface_info_vlan) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~
../modules/infra/api/gr_infra.h:170:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
170 | gr_iface_type_t type; // use GR_IFACE_TYPE_UNDEF for all
| ^~~~~~~~~~~~~~~
In file included from ../modules/infra/control/iface.c:5:
../modules/infra/control/gr_iface.h:18:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
18 | gr_iface_type_t type_id;
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:61:35: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
61 | struct iface_type *iface_type_get(gr_iface_type_t type_id);
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:76:23: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
76 | uint16_t ifaces_count(gr_iface_type_t type_id);
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:77:26: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
77 | struct iface *iface_next(gr_iface_type_t type_id, const struct iface *prev);
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c:22:35: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
22 | struct iface_type *iface_type_get(gr_iface_type_t type_id) {
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c: In function ‘iface_type_register’:
../modules/infra/control/iface.c:32:13: error: implicit declaration of function ‘iface_type_get’ [-Werror=implicit-function-declaration]
32 | if (iface_type_get(type->id) != NULL)
| ^~~~~~~~~~~~~~
../modules/infra/control/iface.c:32:38: error: comparison between pointer and integer [-Werror]
32 | if (iface_type_get(type->id) != NULL)
| ^~
../modules/infra/control/iface.c:34:25: error: ‘GR_IFACE_TYPE_COUNT’ undeclared (first use in this function)
34 | if (type->id >= GR_IFACE_TYPE_COUNT)
| ^~~~~~~~~~~~~~~~~~~
../modules/infra/control/iface.c:34:25: note: each undeclared identifier is reported only once for each function it appears in
../modules/infra/control/iface.c: In function ‘iface_create’:
../modules/infra/control/iface.c:55:54: error: ‘const struct gr_iface’ has no member named ‘type’
55 | struct iface_type *type = iface_type_get(conf->type);
| ^~
../modules/infra/control/iface.c:61:28: error: ‘const struct gr_iface’ has no member named ‘name’
61 | if (utf8_check(conf->name, GR_IFACE_NAME_SIZE) < 0)
| ^~
../modules/infra/control/iface.c:63:25: error: implicit declaration of function ‘iface_next’; did you mean ‘iface_create’? [-Werror=implicit-function-declaration]
63 | while ((iface = iface_next(GR_IFACE_TYPE_UNDEF, iface)) != NULL) {
| ^~~~~~~~~~
| iface_create
../modules/infra/control/iface.c:63:36: error: ‘GR_IFACE_TYPE_UNDEF’ undeclared (first use in this function); did you mean ‘GR_IFACE_ID_UNDEF’?
63 | while ((iface = iface_next(GR_IFACE_TYPE_UNDEF, iface)) != NULL) {
| ^~~~~~~~~~~~~~~~~~~
| GR_IFACE_ID_UNDEF
../modules/infra/control/iface.c:64:32: error: ‘const struct gr_iface’ has no member named ‘name’
64 | if (strcmp(conf->name, iface->name) == 0) {
| ^~
../modules/infra/control/iface.c:64:45: error: ‘struct iface’ has no member named ‘name’
64 | if (strcmp(conf->name, iface->name) == 0) {
| ^~
../modules/infra/control/iface.c:79:14: error: ‘struct iface’ has no member named ‘mode’
79 | iface->mode = GR_IFACE_MODE_L3;
| ^~
../modules/infra/control/iface.c:79:23: error: ‘GR_IFACE_MODE_L3’ undeclared (first use in this function)
79 | iface->mode = GR_IFACE_MODE_L3;
| ^~~~~~~~~~~~~~~~
../modules/infra/control/iface.c:81:14: error: ‘struct iface’ has no member named ‘type_id’
81 | iface->type_id = conf->type;
| ^~
../modules/infra/control/iface.c:81:30: error: ‘const struct gr_iface’ has no member named ‘type’
81 | iface->type_id = conf->type;
| ^~
../modules/infra/control/iface.c:82:14: error: ‘struct iface’ has no member named ‘flags’
82 | iface->flags = conf->flags;
| ^~
../modules/infra/control/iface.c:82:28: error: ‘const struct gr_iface’ has no member named ‘flags’
82 | iface->flags = conf->flags;
| ^~
../modules/infra/control/iface.c:83:14: error: ‘struct iface’ has no member named ‘mtu’
83 | iface->mtu = conf->mtu;
| ^~
../modules/infra/control/iface.c:83:26: error: ‘const struct gr_iface’ has no member named ‘mtu’
83 | iface->mtu = conf->mtu;
| ^~
../modules/infra/control/iface.c:84:14: error: ‘struct iface’ has no member named ‘vrf_id’
84 | iface->vrf_id = conf->vrf_id;
| ^~
../modules/infra/control/iface.c:84:29: error: ‘const struct gr_iface’ has no member named ‘vrf_id’
84 | iface->vrf_id = conf->vrf_id;
| ^~
../modules/infra/control/iface.c:86:14: error: ‘struct iface’ has no member named ‘name’
86 | iface->name = strndup(conf->name, GR_IFACE_NAME_SIZE);
| ^~
../modules/infra/control/iface.c:86:35: error: ‘const struct gr_iface’ has no member named ‘name’
86 | iface->name = strndup(conf->name, GR_IFACE_NAME_SIZE);
| ^~
../modules/infra/control/iface.c:87:18: error: ‘struct iface’ has no member named ‘name’
87 | if (iface->name == NULL)
| ^~
../modules/infra/control/iface.c:100:27: error: ‘struct iface’ has no member named ‘name’
100 | free(iface->name);
| ^~
../modules/infra/control/iface.c: In function ‘iface_reconfig’:
../modules/infra/control/iface.c:119:36: error: ‘const struct gr_iface’ has no member named ‘name’
119 | if (utf8_check(conf->name, GR_IFACE_NAME_SIZE) < 0)
| ^~
../modules/infra/control/iface.c:123:40: error: ‘GR_IFACE_TYPE_UNDEF’ undeclared (first use in this function); did you mean ‘GR_IFACE_ID_UNDEF’?
123 | while ((i = iface_next(GR_IFACE_TYPE_UNDEF, i)) != NULL)
| ^~~~~~~~~~~~~~~~~~~
| GR_IFACE_ID_UNDEF
../modules/infra/control/iface.c:124:54: error: ‘const struct gr_iface’ has no member named ‘name’
124 | if (i != iface && strcmp(conf->name, i->name) == 0)
| ^~
../modules/infra/control/iface.c:124:63: error: ‘const struct iface’ has no member named ‘name’
124 | if (i != iface && strcmp(conf->name, i->name) == 0)
| ^~
../modules/infra/control/iface.c:127:46: error: ‘const struct gr_iface’ has no member named ‘name’
127 | char *new_name = strndup(conf->name, GR_IFACE_NAME_SIZE);
| ^~
../modules/infra/control/iface.c:130:27: error: ‘struct iface’ has no member named ‘name’
130 | free(iface->name);
| ^~
../modules/infra/control/iface.c:131:22: error: ‘struct iface’ has no member named ‘name’
131 | iface->name = new_name;
| ^~
../modules/infra/control/iface.c:134:36: error: ‘struct iface’ has no member named ‘type_id’
134 | type = iface_type_get(iface->type_id);
| ^~
../modules/infra/control/iface.c: At top level:
../modules/infra/control/iface.c:139:23: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
139 | uint16_t ifaces_count(gr_iface_type_t type_id) {
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c:151:26: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
151 | struct iface *iface_next(gr_iface_type_t type_id, const struct iface *prev) {
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c: In function ‘iface_get_eth_addr’:
../modules/infra/control/iface.c:184:36: error: ‘struct iface’ has no member named ‘type_id’
184 | type = iface_type_get(iface->type_id);
| ^~
In file included from ../modules/infra/control/iface.c:10:
../modules/infra/control/iface.c: In function ‘iface_add_subinterface’:
../modules/infra/control/iface.c:194:38: error: ‘struct iface’ has no member named ‘subinterfaces’
194 | gr_vec_foreach_ref (s, parent->subinterfaces) {
| ^~
../main/gr_vec.h:160:69: note: in definition of macro ‘gr_vec_foreach_ref’
160 | for (size_t __i = 0, __next = 1; __next && __i < gr_vec_len(v); __next = !__next, __i++) \
| ^
../modules/infra/control/iface.c:194:38: error: ‘struct iface’ has no member named ‘subinterfaces’
194 | gr_vec_foreach_ref (s, parent->subinterfaces) {
| ^~
../main/gr_vec.h:161:27: note: in definition of macro ‘gr_vec_foreach_ref’
161 | for (p = &v[__i]; __next; __next = !__next)
| ^
../modules/infra/control/iface.c:198:26: error: ‘struct iface’ has no member named ‘subinterfaces’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~
../main/gr_vec.h:130:35: note: in definition of macro ‘gr_vec_maybe_grow’
130 | #define gr_vec_maybe_grow(v, n) ((v) = __gr_vec_grow((v), sizeof(*(v)), (n), 0))
| ^
../modules/infra/control/iface.c:198:9: note: in expansion of macro ‘gr_vec_add’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~~~~~~~~~
../modules/infra/control/iface.c:198:26: error: ‘struct iface’ has no member named ‘subinterfaces’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~
../main/gr_vec.h:130:55: note: in definition of macro ‘gr_vec_maybe_grow’
130 | #define gr_vec_maybe_grow(v, n) ((v) = __gr_vec_grow((v), sizeof(*(v)), (n), 0))
| ^
../modules/infra/control/iface.c:198:9: note: in expansion of macro ‘gr_vec_add’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~~~~~~~~~
../modules/infra/control/iface.c:198:26: error: ‘struct iface’ has no member named ‘subinterfaces’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~
../main/gr_vec.h:130:68: note: in definition of macro ‘gr_vec_maybe_grow’
130 | #define gr_vec_maybe_grow(v, n) ((v) = __gr_vec_grow((v), sizeof(*(v)), (n), 0))
| ^
../modules/infra/control/iface.c:198:9: note: in expansion of macro ‘gr_vec_add’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~~~~~~~~~
../modules/infra/control/iface.c:198:26: error: ‘struct iface’ has no member named ‘subinterfaces’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~
../main/gr_vec.h:133:53: note: in definition of macro ‘gr_vec_add’
133 | #define gr_vec_add(v, x) (gr_vec_maybe_grow(v, 1), (v)[__gr_vec_hdr(v)->len++] = (x))
| ^
../modules/infra/control/iface.c:198:26: error: ‘struct iface’ has no member named ‘subinterfaces’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~
../main/gr_vec.h:133:69: note: in definition of macro ‘gr_vec_add’
133 | #define gr_vec_add(v, x) (gr_vec_maybe_grow(v, 1), (v)[__gr_vec_hdr(v)->len++] = (x))
| ^
../main/gr_vec.h:133:50: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
133 | #define gr_vec_add(v, x) (gr_vec_maybe_grow(v, 1), (v)[__gr_vec_hdr(v)->len++] = (x))
| ^
../modules/infra/control/iface.c:198:9: note: in expansion of macro ‘gr_vec_add’
198 | gr_vec_add(parent->subinterfaces, sub);
| ^~~~~~~~~~
../modules/infra/control/iface.c: In function ‘iface_del_subinterface’:
../modules/infra/control/iface.c:202:49: error: ‘struct iface’ has no member named ‘subinterfaces’
202 | for (size_t i = 0; i < gr_vec_len(parent->subinterfaces); i++) {
| ^~
../modules/infra/control/iface.c:203:27: error: ‘struct iface’ has no member named ‘subinterfaces’
203 | if (parent->subinterfaces[i] == sub) {
| ^~
In file included from ../modules/infra/control/iface.c:10:
../modules/infra/control/iface.c:204:47: error: ‘struct iface’ has no member named ‘subinterfaces’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~
../main/gr_vec.h:151:33: note: in definition of macro ‘gr_vec_del_swap’
151 | #define gr_vec_del_swap(v, i) ((v)[i] = gr_vec_last(v), __gr_vec_hdr(v)->len--)
| ^
../modules/infra/control/iface.c:204:47: error: ‘struct iface’ has no member named ‘subinterfaces’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~
../main/gr_vec.h:142:36: note: in definition of macro ‘gr_vec_last’
142 | #define gr_vec_last(v) (gr_vec_len(v) > 0 ? (void)0 : abort(), (v)[__gr_vec_hdr(v)->len - 1])
| ^
../modules/infra/control/iface.c:204:25: note: in expansion of macro ‘gr_vec_del_swap’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c:204:47: error: ‘struct iface’ has no member named ‘subinterfaces’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~
../main/gr_vec.h:142:65: note: in definition of macro ‘gr_vec_last’
142 | #define gr_vec_last(v) (gr_vec_len(v) > 0 ? (void)0 : abort(), (v)[__gr_vec_hdr(v)->len - 1])
| ^
../modules/infra/control/iface.c:204:25: note: in expansion of macro ‘gr_vec_del_swap’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c:204:47: error: ‘struct iface’ has no member named ‘subinterfaces’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~
../main/gr_vec.h:142:81: note: in definition of macro ‘gr_vec_last’
142 | #define gr_vec_last(v) (gr_vec_len(v) > 0 ? (void)0 : abort(), (v)[__gr_vec_hdr(v)->len - 1])
| ^
../modules/infra/control/iface.c:204:25: note: in expansion of macro ‘gr_vec_del_swap’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~~~~~~~~~~~~~~
../main/gr_vec.h:142:62: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
142 | #define gr_vec_last(v) (gr_vec_len(v) > 0 ? (void)0 : abort(), (v)[__gr_vec_hdr(v)->len - 1])
| ^
../main/gr_vec.h:151:41: note: in expansion of macro ‘gr_vec_last’
151 | #define gr_vec_del_swap(v, i) ((v)[i] = gr_vec_last(v), __gr_vec_hdr(v)->len--)
| ^~~~~~~~~~~
../modules/infra/control/iface.c:204:25: note: in expansion of macro ‘gr_vec_del_swap’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c:204:47: error: ‘struct iface’ has no member named ‘subinterfaces’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~
../main/gr_vec.h:151:70: note: in definition of macro ‘gr_vec_del_swap’
151 | #define gr_vec_del_swap(v, i) ((v)[i] = gr_vec_last(v), __gr_vec_hdr(v)->len--)
| ^
../main/gr_vec.h:151:55: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
151 | #define gr_vec_del_swap(v, i) ((v)[i] = gr_vec_last(v), __gr_vec_hdr(v)->len--)
| ^
../modules/infra/control/iface.c:204:25: note: in expansion of macro ‘gr_vec_del_swap’
204 | gr_vec_del_swap(parent->subinterfaces, i);
| ^~~~~~~~~~~~~~~
../modules/infra/control/iface.c: In function ‘iface_add_eth_addr’:
../modules/infra/control/iface.c:217:36: error: ‘struct iface’ has no member named ‘type_id’
217 | type = iface_type_get(iface->type_id);
| ^~
../modules/infra/control/iface.c: In function ‘iface_del_eth_addr’:
../modules/infra/control/iface.c:232:36: error: ‘struct iface’ has no member named ‘type_id’
232 | type = iface_type_get(iface->type_id);
| ^~
../modules/infra/control/iface.c: In function ‘iface_destroy’:
../modules/infra/control/iface.c:248:29: error: ‘struct iface’ has no member named ‘subinterfaces’
248 | if (gr_vec_len(iface->subinterfaces) != 0)
| ^~
../modules/infra/control/iface.c:254:36: error: ‘struct iface’ has no member named ‘type_id’
254 | type = iface_type_get(iface->type_id);
| ^~
../modules/infra/control/iface.c:257:19: error: ‘struct iface’ has no member named ‘name’
257 | free(iface->name);
| ^~
In file included from ../modules/infra/control/iface.c:10:
../modules/infra/control/iface.c:258:26: error: ‘struct iface’ has no member named ‘subinterfaces’
258 | gr_vec_free(iface->subinterfaces);
| ^~
../main/gr_vec.h:121:26: note: in definition of macro ‘gr_vec_free’
121 | #define gr_vec_free(v) ((v) ? free(__gr_vec_hdr(v)) : (void)0, (v) = NULL)
| ^
../modules/infra/control/iface.c:258:26: error: ‘struct iface’ has no member named ‘subinterfaces’
258 | gr_vec_free(iface->subinterfaces);
| ^~
../main/gr_vec.h:121:49: note: in definition of macro ‘gr_vec_free’
121 | #define gr_vec_free(v) ((v) ? free(__gr_vec_hdr(v)) : (void)0, (v) = NULL)
| ^
../modules/infra/control/iface.c:258:26: error: ‘struct iface’ has no member named ‘subinterfaces’
258 | gr_vec_free(iface->subinterfaces);
| ^~
../main/gr_vec.h:121:65: note: in definition of macro ‘gr_vec_free’
121 | #define gr_vec_free(v) ((v) ? free(__gr_vec_hdr(v)) : (void)0, (v) = NULL)
| ^
../main/gr_vec.h:121:62: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
121 | #define gr_vec_free(v) ((v) ? free(__gr_vec_hdr(v)) : (void)0, (v) = NULL)
| ^
../modules/infra/control/iface.c:258:9: note: in expansion of macro ‘gr_vec_free’
258 | gr_vec_free(iface->subinterfaces);
| ^~~~~~~~~~~
../modules/infra/control/iface.c: In function ‘iface_fini’:
../modules/infra/control/iface.c:277:43: error: ‘struct iface’ has no member named ‘type_id’
277 | if (iface != NULL && iface->type_id != GR_IFACE_TYPE_PORT
| ^~
../modules/infra/control/iface.c:277:56: error: ‘GR_IFACE_TYPE_PORT’ undeclared (first use in this function)
277 | if (iface != NULL && iface->type_id != GR_IFACE_TYPE_PORT
| ^~~~~~~~~~~~~~~~~~
../modules/infra/control/iface.c:278:29: error: ‘struct iface’ has no member named ‘type_id’
278 | && iface->type_id != GR_IFACE_TYPE_LOOPBACK) {
| ^~
../modules/infra/control/iface.c:278:42: error: ‘GR_IFACE_TYPE_LOOPBACK’ undeclared (first use in this function)
278 | && iface->type_id != GR_IFACE_TYPE_LOOPBACK) {
| ^~~~~~~~~~~~~~~~~~~~~~
../modules/infra/control/iface.c:288:43: error: ‘struct iface’ has no member named ‘type_id’
288 | if (iface == NULL || iface->type_id == GR_IFACE_TYPE_LOOPBACK)
| ^~
In file included from ../subprojects/dpdk/lib/eal/include/rte_debug.h:17,
from ../subprojects/dpdk/lib/eal/include/generic/rte_cycles.h:16,
from ../subprojects/dpdk/lib/eal/x86/include/rte_cycles.h:15,
from ../subprojects/dpdk/lib/eal/x86/include/rte_spinlock.h:14,
from ../subprojects/dpdk/lib/mempool/rte_mempool.h:44,
from ../subprojects/dpdk/lib/mbuf/rte_mbuf.h:38,
from ../subprojects/dpdk/lib/net/rte_ether.h:20,
from ../api/gr_net_types.h:20,
from ../modules/infra/api/gr_infra.h:10,
from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/control/iface.c:5:
../modules/infra/control/iface.c: In function ‘iface_event_debug’:
../modules/infra/control/iface.c:328:88: error: ‘const struct iface’ has no member named ‘name’
328 | LOG(DEBUG, "iface event [0x%08x] %s triggered for iface %s.", event, str, iface->name);
| ^~
../subprojects/dpdk/lib/log/rte_log.h:334:46: note: in definition of macro ‘RTE_LOG’
334 | RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__)
| ^~~~~~~~~~~
../modules/infra/control/iface.c:328:9: note: in expansion of macro ‘LOG’
328 | LOG(DEBUG, "iface event [0x%08x] %s triggered for iface %s.", event, str, iface->name);
| ^~~
../modules/infra/control/iface.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-microsoft’ may have been intended to silence earlier diagnostics
cc1: all warnings being treated as errors
[288/735] Compiling C object grout.p/modules_infra_control_loopback.c.o
FAILED: grout.p/modules_infra_control_loopback.c.o
cc -Igrout.p -I. -I.. -Imain -I../main -Imodules/infra/control -I../modules/infra/control -Imodules/infra/datapath -I../modules/infra/datapath -Imodules/ip/control -I../modules/ip/control -Imodules/ip/datapath -I../modules/ip/datapath -Imodules/ip6/control -I../modules/ip6/control -Imodules/ip6/datapath -I../modules/ip6/datapath -Imodules/ipip -I../modules/ipip -Imodules/l4 -I../modules/l4 -Imodules/srv6 -I../modules/srv6 -Iapi -I../api -Imodules/infra/api -I../modules/infra/api -Imodules/ip/api -I../modules/ip/api -Imodules/ip6/api -I../modules/ip6/api -Isubprojects/dpdk -I../subprojects/dpdk -Isubprojects/dpdk/config -I../subprojects/dpdk/config -Isubprojects/dpdk/lib/eal/include -I../subprojects/dpdk/lib/eal/include -Isubprojects/dpdk/lib/eal/linux/include -I../subprojects/dpdk/lib/eal/linux/include -Isubprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/lib/eal/x86/include -I../subprojects/dpdk/kernel/linux -Isubprojects/dpdk/lib/log -I../subprojects/dpdk/lib/log -Isubprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/kvargs -I../subprojects/dpdk/lib/metrics -Isubprojects/dpdk/lib/telemetry -I../subprojects/dpdk/lib/telemetry -Isubprojects/dpdk/lib/eal/common -I../subprojects/dpdk/lib/eal/common -Isubprojects/dpdk/lib/eal -I../subprojects/dpdk/lib/eal -Isubprojects/dpdk/lib/ring -I../subprojects/dpdk/lib/ring -Isubprojects/dpdk/lib/rcu -I../subprojects/dpdk/lib/rcu -Isubprojects/dpdk/lib/mempool -I../subprojects/dpdk/lib/mempool -Isubprojects/dpdk/lib/mbuf -I../subprojects/dpdk/lib/mbuf -Isubprojects/dpdk/lib/net -I../subprojects/dpdk/lib/net -Isubprojects/dpdk/lib/meter -I../subprojects/dpdk/lib/meter -Isubprojects/dpdk/lib/ethdev -I../subprojects/dpdk/lib/ethdev -Isubprojects/dpdk/lib/pci -I../subprojects/dpdk/lib/pci -Isubprojects/dpdk/lib/cmdline -I../subprojects/dpdk/lib/cmdline -Isubprojects/dpdk/lib/hash -I../subprojects/dpdk/lib/hash -Isubprojects/dpdk/lib/cryptodev -I../subprojects/dpdk/lib/cryptodev -Isubprojects/dpdk/lib/dmadev -I../subprojects/dpdk/lib/dmadev -Isubprojects/dpdk/lib/gso -I../subprojects/dpdk/lib/gso -Isubprojects/dpdk/lib/pcapng -I../subprojects/dpdk/lib/pcapng -Isubprojects/dpdk/lib/rib -I../subprojects/dpdk/lib/rib -Isubprojects/dpdk/lib/security -I../subprojects/dpdk/lib/security -Isubprojects/dpdk/lib/stack -I../subprojects/dpdk/lib/stack -Isubprojects/dpdk/lib/vhost -I../subprojects/dpdk/lib/vhost -Isubprojects/dpdk/lib/fib -I../subprojects/dpdk/lib/fib -Isubprojects/dpdk/lib/graph -I../subprojects/dpdk/lib/graph -Isubprojects/dpdk/drivers/common/iavf -I../subprojects/dpdk/drivers/common/iavf -Isubprojects/dpdk/drivers/bus/auxiliary -I../subprojects/dpdk/drivers/bus/auxiliary -Isubprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci -I../subprojects/dpdk/drivers/bus/pci/linux -Isubprojects/dpdk/drivers/bus/vdev -I../subprojects/dpdk/drivers/bus/vdev -Isubprojects/dpdk/drivers/common/mlx5 -I../subprojects/dpdk/drivers/common/mlx5 -Isubprojects/dpdk/drivers/common/mlx5/linux -I../subprojects/dpdk/drivers/common/mlx5/linux -Isubprojects/dpdk/drivers/mempool/ring -I../subprojects/dpdk/drivers/mempool/ring -Isubprojects/dpdk/drivers/net/i40e -I../subprojects/dpdk/drivers/net/i40e -Isubprojects/dpdk/drivers/net/i40e/base -I../subprojects/dpdk/drivers/net/i40e/base -Isubprojects/dpdk/drivers/net/iavf -I../subprojects/dpdk/drivers/net/iavf -Isubprojects/dpdk/drivers/net/ice -I../subprojects/dpdk/drivers/net/ice -Isubprojects/dpdk/drivers/net/ice/base -I../subprojects/dpdk/drivers/net/ice/base -Isubprojects/dpdk/drivers/net/ixgbe -I../subprojects/dpdk/drivers/net/ixgbe -Isubprojects/dpdk/drivers/net/ixgbe/base -I../subprojects/dpdk/drivers/net/ixgbe/base -Isubprojects/dpdk/drivers/net/mlx5 -I../subprojects/dpdk/drivers/net/mlx5 -Isubprojects/dpdk/drivers/net/mlx5/linux -I../subprojects/dpdk/drivers/net/mlx5/linux -Isubprojects/dpdk/drivers/net/mlx5/hws -I../subprojects/dpdk/drivers/net/mlx5/hws -Isubprojects/dpdk/drivers/net/null -I../subprojects/dpdk/drivers/net/null -Isubprojects/dpdk/drivers/net/tap -I../subprojects/dpdk/drivers/net/tap -Isubprojects/dpdk/drivers/net/vhost -I../subprojects/dpdk/drivers/net/vhost -Isubprojects/dpdk/drivers/net/virtio -I../subprojects/dpdk/drivers/net/virtio -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=gnu2x -O2 -g -DALLOW_EXPERIMENTAL_API -D_GNU_SOURCE -Wmissing-prototypes -Wno-microsoft -Wstrict-aliasing=2 -fms-extensions -fstrict-aliasing -Wno-format-truncation -include rte_config.h -march=native -mrtm -D__GROUT_MAIN__ -MD -MQ grout.p/modules_infra_control_loopback.c.o -MF grout.p/modules_infra_control_loopback.c.o.d -o grout.p/modules_infra_control_loopback.c.o -c ../modules/infra/control/loopback.c
In file included from ../modules/infra/datapath/gr_trace.h:8,
from ../modules/infra/control/gr_graph.h:7,
from ../modules/infra/datapath/gr_mbuf.h:7,
from ../modules/infra/datapath/gr_control_input.h:7,
from ../modules/infra/control/loopback.c:5:
../modules/infra/datapath/gr_icmp6.h:18:14: error: expected ‘{’ before ‘:’ token
18 | typedef enum : uint8_t {
| ^
../modules/infra/datapath/gr_icmp6.h:30:3: error: data definition has no type or storage class [-Werror]
30 | } icmp6_type_t;
| ^~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:30:3: error: type defaults to ‘int’ in declaration of ‘icmp6_type_t’ [-Werror=implicit-int]
../modules/infra/datapath/gr_icmp6.h:36:9: error: expected specifier-qualifier-list before ‘icmp6_type_t’
36 | icmp6_type_t type;
| ^~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:112:14: error: expected ‘{’ before ‘:’ token
112 | typedef enum : uint8_t {
| ^
../modules/infra/datapath/gr_icmp6.h:118:3: error: data definition has no type or storage class [-Werror]
118 | } icmp6_opt_t;
| ^~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:118:3: error: type defaults to ‘int’ in declaration of ‘icmp6_opt_t’ [-Werror=implicit-int]
../modules/infra/datapath/gr_icmp6.h:121:9: error: expected specifier-qualifier-list before ‘icmp6_opt_t’
121 | icmp6_opt_t type;
| ^~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h: In function ‘icmp6_get_opt’:
../modules/infra/datapath/gr_icmp6.h:139:24: error: ‘const struct icmp6_opt’ has no member named ‘type’
139 | if (opt->type != type)
| ^~
../modules/infra/datapath/gr_icmp6.h:142:28: error: ‘const struct icmp6_opt’ has no member named ‘type’
142 | switch (opt->type) {
| ^~
../modules/infra/datapath/gr_icmp6.h:143:22: error: ‘ICMP6_OPT_TARGET_LLADDR’ undeclared (first use in this function)
143 | case ICMP6_OPT_TARGET_LLADDR:
| ^~~~~~~~~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:143:22: note: each undeclared identifier is reported only once for each function it appears in
../modules/infra/datapath/gr_icmp6.h:144:22: error: ‘ICMP6_OPT_SRC_LLADDR’ undeclared (first use in this function)
144 | case ICMP6_OPT_SRC_LLADDR:
| ^~~~~~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:145:32: error: converting a packed ‘const struct icmp6_opt’ pointer (alignment 1) to a ‘struct icmp6_opt_lladdr’ pointer (alignment 2) may result in an unaligned pointer value [-Werror=address-of-packed-member]
145 | struct icmp6_opt_lladdr *ll = PAYLOAD(opt);
| ^~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:130:8: note: defined here
130 | struct icmp6_opt_lladdr {
| ^~~~~~~~~~~~~~~~
../modules/infra/datapath/gr_icmp6.h:152:30: error: ‘const struct icmp6_opt’ has no member named ‘len’
152 | offset += opt->len * 8;
| ^~
In file included from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/datapath/gr_eth.h:8,
from ../modules/infra/control/loopback.c:7:
../modules/infra/api/gr_infra.h: At top level:
../modules/infra/api/gr_infra.h:17:14: error: expected ‘{’ before ‘:’ token
17 | typedef enum : uint8_t {
| ^
../modules/infra/api/gr_infra.h:24:3: error: data definition has no type or storage class [-Werror]
24 | } gr_iface_type_t;
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:24:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_type_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:27:14: error: expected ‘{’ before ‘:’ token
27 | typedef enum : uint16_t {
| ^
../modules/infra/api/gr_infra.h:32:3: error: data definition has no type or storage class [-Werror]
32 | } gr_iface_flags_t;
| ^~~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:32:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_flags_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:35:14: error: expected ‘{’ before ‘:’ token
35 | typedef enum : uint16_t {
| ^
../modules/infra/api/gr_infra.h:37:3: error: data definition has no type or storage class [-Werror]
37 | } gr_iface_state_t;
| ^~~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:37:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_state_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:51:14: error: expected ‘{’ before ‘:’ token
51 | typedef enum : uint8_t {
| ^
../modules/infra/api/gr_infra.h:55:3: error: data definition has no type or storage class [-Werror]
55 | } gr_iface_mode_t;
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:55:3: error: type defaults to ‘int’ in declaration of ‘gr_iface_mode_t’ [-Werror=implicit-int]
../modules/infra/api/gr_infra.h:60:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
60 | gr_iface_type_t type; // Interface type. Uses values from GR_IFACE_TYPE_*.
| ^~~~~~~~~~~~~~~
../modules/infra/api/gr_infra.h:74:30: error: expected declaration specifiers or ‘...’ before ‘gr_iface_mode_t’
74 | void register_interface_mode(gr_iface_mode_t mode, const char *next_node);
| ^~~~~~~~~~~~~~~
In file included from ../modules/infra/datapath/gr_icmp6.h:7,
from ../modules/infra/datapath/gr_trace.h:8,
from ../modules/infra/control/gr_graph.h:7,
from ../modules/infra/datapath/gr_mbuf.h:7,
from ../modules/infra/datapath/gr_control_input.h:7,
from ../modules/infra/control/loopback.c:5:
../api/gr_macro.h:10:54: error: ‘struct gr_iface’ has no member named ‘info’
10 | #define MEMBER_SIZE(type, member) (sizeof(((type *)0)->member))
| ^~
../modules/infra/api/gr_infra.h:95:52: note: in expansion of macro ‘MEMBER_SIZE’
95 | static_assert(sizeof(struct gr_iface_info_port) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~~~~~~
In file included from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/datapath/gr_eth.h:8,
from ../modules/infra/control/loopback.c:7:
../modules/infra/api/gr_infra.h:95:15: error: expression in static assertion is not an integer
95 | static_assert(sizeof(struct gr_iface_info_port) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~
In file included from ../modules/infra/datapath/gr_icmp6.h:7,
from ../modules/infra/datapath/gr_trace.h:8,
from ../modules/infra/control/gr_graph.h:7,
from ../modules/infra/datapath/gr_mbuf.h:7,
from ../modules/infra/datapath/gr_control_input.h:7,
from ../modules/infra/control/loopback.c:5:
../api/gr_macro.h:10:54: error: ‘struct gr_iface’ has no member named ‘info’
10 | #define MEMBER_SIZE(type, member) (sizeof(((type *)0)->member))
| ^~
../modules/infra/api/gr_infra.h:109:52: note: in expansion of macro ‘MEMBER_SIZE’
109 | static_assert(sizeof(struct gr_iface_info_vlan) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~~~~~~
In file included from ../modules/infra/control/gr_iface.h:8,
from ../modules/infra/datapath/gr_eth.h:8,
from ../modules/infra/control/loopback.c:7:
../modules/infra/api/gr_infra.h:109:15: error: expression in static assertion is not an integer
109 | static_assert(sizeof(struct gr_iface_info_vlan) <= MEMBER_SIZE(struct gr_iface, info));
| ^~~~~~
../modules/infra/api/gr_infra.h:170:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
170 | gr_iface_type_t type; // use GR_IFACE_TYPE_UNDEF for all
| ^~~~~~~~~~~~~~~
In file included from ../modules/infra/datapath/gr_eth.h:8,
from ../modules/infra/control/loopback.c:7:
../modules/infra/control/gr_iface.h:18:9: error: expected specifier-qualifier-list before ‘gr_iface_type_t’
18 | gr_iface_type_t type_id;
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:61:35: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
61 | struct iface_type *iface_type_get(gr_iface_type_t type_id);
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:76:23: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
76 | uint16_t ifaces_count(gr_iface_type_t type_id);
| ^~~~~~~~~~~~~~~
../modules/infra/control/gr_iface.h:77:26: error: expected declaration specifiers or ‘...’ before ‘gr_iface_type_t’
77 | struct iface *iface_next(gr_iface_type_t type_id, const struct iface *prev);
| ^~~~~~~~~~~~~~~
../modules/infra/control/loopback.c: In function ‘loopback_tx’:
../modules/infra/control/loopback.c:51:52: error: ‘const struct iface’ has no member named ‘info’
51 | lo = (struct iface_info_loopback *)d->iface->info;
| ^~
../modules/infra/control/loopback.c: In function ‘iface_loopback_poll’:
../modules/infra/control/loopback.c:105:49: error: ‘struct iface’ has no member named ‘info’
105 | lo = (struct iface_info_loopback *)iface->info;
| ^~
In file included from ../subprojects/dpdk/lib/eal/include/rte_debug.h:17,
from ../subprojects/dpdk/lib/eal/include/generic/rte_cycles.h:16,
from ../subprojects/dpdk/lib/eal/x86/include/rte_cycles.h:15,
from ../subprojects/dpdk/lib/eal/x86/include/rte_spinlock.h:14,
from ../subprojects/dpdk/lib/mempool/rte_mempool.h:44,
from ../subprojects/dpdk/lib/mbuf/rte_mbuf.h:38,
from ../subprojects/dpdk/lib/net/rte_ether.h:20,
from ../modules/infra/datapath/gr_icmp6.h:11,
from ../modules/infra/datapath/gr_trace.h:8,
from ../modules/infra/control/gr_graph.h:7,
from ../modules/infra/datapath/gr_mbuf.h:7,
from ../modules/infra/datapath/gr_control_input.h:7,
from ../modules/infra/control/loopback.c:5:
../modules/infra/control/loopback.c:109:56: error: ‘struct iface’ has no member named ‘name’
109 | LOG(ERR, "tun device %s deleted", iface->name);
| ^~
../subprojects/dpdk/lib/log/rte_log.h:334:46: note: in definition of macro ‘RTE_LOG’
334 | RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__)
| ^~~~~~~~~~~
../modules/infra/control/loopback.c:109:17: note: in expansion of macro ‘LOG’
109 | LOG(ERR, "tun device %s deleted", iface->name);
| ^~~
../modules/infra/control/loopback.c:120:25: error: ‘struct iface’ has no member named ‘mtu’
120 | read_len = iface->mtu + sizeof(struct tun_pi);
| ^~
In file included from ../subprojects/dpdk/lib/eal/include/rte_debug.h:17,
from ../subprojects/dpdk/lib/eal/include/generic/rte_cycles.h:16,
from ../subprojects/dpdk/lib/eal/x86/include/rte_cycles.h:15,
from ../subprojects/dpdk/lib/eal/x86/include/rte_spinlock.h:14,
from ../subprojects/dpdk/lib/mempool/rte_mempool.h:44,
from ../subprojects/dpdk/lib/mbuf/rte_mbuf.h:38,
from ../subprojects/dpdk/lib/net/rte_ether.h:20,
from ../modules/infra/datapath/gr_icmp6.h:11,
from ../modules/infra/datapath/gr_trace.h:8,
from ../modules/infra/control/gr_graph.h:7,
from ../modules/infra/datapath/gr_mbuf.h:7,
from ../modules/infra/datapath/gr_control_input.h:7,
from ../modules/infra/control/loopback.c:5:
../modules/infra/control/loopback.c:129:68: error: ‘struct iface’ has no member named ‘name’
129 | LOG(ERR, "read from tun device %s failed %s", iface->name, strerror(errno));
| ^~
../subprojects/dpdk/lib/log/rte_log.h:334:46: note: in definition of macro ‘RTE_LOG’
334 | RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__)
| ^~~~~~~~~~~
../modules/infra/control/loopback.c:129:17: note: in expansion of macro ‘LOG’
129 | LOG(ERR, "read from tun device %s failed %s", iface->name, strerror(errno));
| ^~~
../modules/infra/control/loopback.c: In function ‘iface_loopback_create’:
../modules/infra/control/loopback.c:156:34: error: ‘struct gr_iface’ has no member named ‘type’
156 | struct gr_iface conf = {.type = GR_IFACE_TYPE_LOOPBACK, .mtu = 1500, .vrf_id = vrf_id};
| ^~~~
../modules/infra/control/loopback.c:156:41: error: ‘GR_IFACE_TYPE_LOOPBACK’ undeclared (first use in this function)
156 | struct gr_iface conf = {.type = GR_IFACE_TYPE_LOOPBACK, .mtu = 1500, .vrf_id = vrf_id};
| ^~~~~~~~~~~~~~~~~~~~~~
../modules/infra/control/loopback.c:156:66: error: ‘struct gr_iface’ has no member named ‘mtu’
156 | struct gr_iface conf = {.type = GR_IFACE_TYPE_LOOPBACK, .mtu = 1500, .vrf_id = vrf_id};
| ^~~
../modules/infra/control/loopback.c:156:72: error: excess elements in struct initializer [-Werror]
156 | struct gr_iface conf = {.type = GR_IFACE_TYPE_LOOPBACK, .mtu = 1500, .vrf_id = vrf_id};
| ^~~~
../modules/infra/control/loopback.c:156:72: note: (near initialization for ‘conf’)
../modules/infra/control/loopback.c:156:79: error: ‘struct gr_iface’ has no member named ‘vrf_id’
156 | struct gr_iface conf = {.type = GR_IFACE_TYPE_LOOPBACK, .mtu = 1500, .vrf_id = vrf_id};
| ^~~~~~
../modules/infra/control/loopback.c:156:88: error: excess elements in struct initializer [-Werror]
156 | struct gr_iface conf = {.type = GR_IFACE_TYPE_LOOPBACK, .mtu = 1500, .vrf_id = vrf_id};
| ^~~~~~
../modules/infra/control/loopback.c:156:88: note: (near initialization for ‘conf’)
../modules/infra/control/loopback.c:157:22: error: ‘struct gr_iface’ has no member named ‘name’
157 | snprintf(conf.name, sizeof(conf.name), "gr-loop%d", vrf_id);
| ^
../modules/infra/control/loopback.c:157:40: error: ‘struct gr_iface’ has no member named ‘name’
157 | snprintf(conf.name, sizeof(conf.name), "gr-loop%d", vrf_id);
| ^
../modules/infra/control/loopback.c: In function ‘iface_loopback_delete’:
../modules/infra/control/loopback.c:163:21: error: implicit declaration of function ‘iface_next’; did you mean ‘iface_create’? [-Werror=implicit-function-declaration]
163 | while ((i = iface_next(GR_IFACE_TYPE_LOOPBACK, i)) != NULL)
| ^~~~~~~~~~
| iface_create
../modules/infra/control/loopback.c:163:32: error: ‘GR_IFACE_TYPE_LOOPBACK’ undeclared (first use in this function)
163 | while ((i = iface_next(GR_IFACE_TYPE_LOOPBACK, i)) != NULL)
| ^~~~~~~~~~~~~~~~~~~~~~
../modules/infra/control/loopback.c:164:22: error: ‘const struct iface’ has no member named ‘vrf_id’
164 | if (i->vrf_id == vrf_id)
| ^~
../modules/infra/control/loopback.c: In function ‘iface_loopback_init’:
../modules/infra/control/loopback.c:171:77: error: ‘struct iface’ has no member named ‘info’
171 | struct iface_info_loopback *lo = (struct iface_info_loopback *)iface->info;
| ^~
../modules/infra/control/loopback.c:178:36: error: ‘struct iface’ has no member named ‘name’
178 | memccpy(ifr.ifr_name, iface->name, 0, IFNAMSIZ);
| ^~
../modules/infra/control/loopback.c:219:14: error: ‘struct iface’ has no member named ‘flags’
219 | iface->flags = GR_IFACE_F_UP;
| ^~
../modules/infra/control/loopback.c:219:24: error: ‘GR_IFACE_F_UP’ undeclared (first use in this function); did you mean ‘GR_IFACE_SET_VRF’?
219 | iface->flags = GR_IFACE_F_UP;
| ^~~~~~~~~~~~~
| GR_IFACE_SET_VRF
../modules/infra/control/loopback.c:220:14: error: ‘struct iface’ has no member named ‘state’
220 | iface->state = GR_IFACE_S_RUNNING;
| ^~
../modules/infra/control/loopback.c:220:24: error: ‘GR_IFACE_S_RUNNING’ undeclared (first use in this function)
220 | iface->state = GR_IFACE_S_RUNNING;
| ^~~~~~~~~~~~~~~~~~
../modules/infra/control/loopback.c: In function ‘iface_loopback_fini’:
../modules/infra/control/loopback.c:247:77: error: ‘struct iface’ has no member named ‘info’
247 | struct iface_info_loopback *lo = (struct iface_info_loopback *)iface->info;
| ^~
../modules/infra/control/loopback.c: At top level:
../modules/infra/control/loopback.c:266:15: error: ‘GR_IFACE_TYPE_LOOPBACK’ undeclared here (not in a function)
266 | .id = GR_IFACE_TYPE_LOOPBACK,
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: note: unrecognized command-line option ‘-Wno-microsoft’ may have been intended to silence earlier diagnostics
cc1: all warnings being treated as errors
[307/735] Compiling C object subprojects/dpdk/lib/librte_vhost.a.p/vhost_virtio_net.c.o
ninja: build stopped: subcommand failed.
make: *** [GNUmakefile:17: all] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment