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 <step...@networkplumber.org>
>

Agree, this seems done by mistake as part of batch update,

Acked-by: Ferruh Yigit <ferruh.yi...@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_ */

Reply via email to