Bug 1376
Summary: | A BPF can no longer include header rte_mbuf_core.h | ||
---|---|---|---|
Product: | DPDK | Reporter: | Michel Machado (michel) |
Component: | other | Assignee: | dev |
Status: | UNCONFIRMED --- | ||
Severity: | major | CC: | roretzla |
Priority: | Normal | ||
Version: | 23.11 | ||
Target Milestone: | --- | ||
Hardware: | x86 | ||
OS: | Linux | ||
Attachments: | Compilation errors for t2.c and t3.c |
(In reply to Michel Machado from comment #0) > Created attachment 272 [details] > Compilation errors for t2.c and t3.c > > A BPF needs to include the header <rte_mbuf_core.h> to access struct > rte_mbuf. But the current version of the header <rte_mbuf_core.h> cannot be > included in a BPF. The attached file shows the errors one gets while > compiling the files examples/bpf/t2.c and examples/bpf/t3.c. a bug was fixed where rte_arch_bswap16 was being hidden except when RTE_FORCE_INTRINSICS was defined. i suspect -t bpf should likely define RTE_FORCE_INTRINSICS since it seems generally unreasonable to have x86 inline asm in a bpf translation unit. if there are problems with RTE_FORCE_INTRINSICS they'll have to be addressed as separate bugs. Adding "-D RTE_FORCE_INTRINSICS" to the parameters of clang works around the problem. This is a reasonable workaround while the headers are being patched to identify -t bpf. Thank you, Tyler, for the suggestion. |
Created attachment 272 [details] Compilation errors for t2.c and t3.c A BPF needs to include the header <rte_mbuf_core.h> to access struct rte_mbuf. But the current version of the header <rte_mbuf_core.h> cannot be included in a BPF. The attached file shows the errors one gets while compiling the files examples/bpf/t2.c and examples/bpf/t3.c.