Re: can't get BTF: type .rodata.cst32: not found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 25, 2022 at 9:52 AM Vincent Li <vincent.mc.li@xxxxxxxxx> wrote:
>
> this is macro I suspected in my implementation that could cause issue with BTF
>
> #define ENABLE_VTEP 1
> #define VTEP_ENDPOINT (__u32[]){0xec48a90a, 0xee48a90a, 0x1f48a90a,
> 0x2048a90a, }
> #define VTEP_MAC (__u64[]){0x562e984c3682, 0x582e984c3682,
> 0x5eaaed93fdf2, 0x5faaed93fdf2, }
> #define VTEP_NUMS 4
>
> On Tue, Jan 25, 2022 at 9:38 AM Vincent Li <vincent.mc.li@xxxxxxxxx> wrote:
> >
> > Hi
> >
> > While developing Cilium VTEP integration feature
> > https://github.com/cilium/cilium/pull/17370, I found a strange issue
> > that seems related to BTF and probably caused by my specific
> > implementation, the issue is described in
> > https://github.com/cilium/cilium/issues/18616, I don't know much about
> > BTF and not sure if my implementation is seriously flawed or just some
> > implementation bug or maybe not compatible with BTF. Strangely, the
> > issue appears related to number of VTEPs I use, no problem with 1 or 2
> > VTEP, 3, 4 VTEPs will have problem with BTF, any guidance from BTF
> > experts  are appreciated :-).
> >
> > Thanks
> >
> > Vincent

Sorry for previous top post

it looks the compiler compiles the cilium bpf_lxc.c to bpf_lxc.o
differently and added " [21] .rodata.cst32     PROGBITS
0000000000000000  00011e68" when  following macro exceeded 2 members

#define VTEP_ENDPOINT (__u32[]){0xec48a90a, 0xee48a90a, 0x1f48a90a,
0x2048a90a, }

no ".rodata.cst32" compiled in bpf_lxc.o  when above VTEP_ENDPOINT
member <=2. any reason why compiler would do that?



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux