[PATCH] tap: fix build of tap_bpf_program
Ferruh Yigit
ferruh.yigit at amd.com
Wed Jul 19 12:00:31 CEST 2023
On 7/17/2023 8:15 PM, Stephen Hemminger wrote:
> The tap_bpf_program.c is not built as part of normal DPDK
> EAL environment. It is intended to be built standalone
> and does not use rte_common.h.
>
> This reverts the related change from
> commit ef5baf3486e0 ("replace packed attributes")
>
> Note: this patch will cause expected warnings from checkpatch
> because the code involved is not used directly in DPDK environment.
>
> Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
>
Agree, this seems done by mistake as part of batch update,
Acked-by: Ferruh Yigit <ferruh.yigit at amd.com>
But I can't update the bpf file at all, if I am not missing something I
am not sure if we should get just this update or have a patch/patchset
that fixes the build.
@Ophir, how the bpf file is compiled? And did you test it recently?
I am using command from the documentation:
`clang -O2 -emit-llvm -c tap_bpf_program.c -o - | llc -march=bpf
-filetype=obj -o tap_bpf_program.o`
@Aaron, should we add a simple build test around it, since this file is
not build by default with DPDK build?
> ---
> drivers/net/tap/tap_bpf_program.c | 4 ++--
> drivers/net/tap/tap_rss.h | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/tap/tap_bpf_program.c b/drivers/net/tap/tap_bpf_program.c
> index 20c310e5e7ba..532e8838fe27 100644
> --- a/drivers/net/tap/tap_bpf_program.c
> +++ b/drivers/net/tap/tap_bpf_program.c
> @@ -75,14 +75,14 @@ struct ipv4_l3_l4_tuple {
> __u32 dst_addr;
> __u16 dport;
> __u16 sport;
> -} __rte_packed;
> +} __attribute__((packed));
>
> struct ipv6_l3_l4_tuple {
> __u8 src_addr[16];
> __u8 dst_addr[16];
> __u16 dport;
> __u16 sport;
> -} __rte_packed;
> +} __attribute__((packed));
>
> static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE] = {
> 0xd1, 0x81, 0xc6, 0x2c,
> diff --git a/drivers/net/tap/tap_rss.h b/drivers/net/tap/tap_rss.h
> index 48c151cf6b68..dff46a012f94 100644
> --- a/drivers/net/tap/tap_rss.h
> +++ b/drivers/net/tap/tap_rss.h
> @@ -35,6 +35,6 @@ struct rss_key {
> __u32 key_size;
> __u32 queues[TAP_MAX_QUEUES];
> __u32 nb_queues;
> -} __rte_packed;
> +} __attribute__((packed));
>
> #endif /* _TAP_RSS_H_ */
More information about the dev
mailing list