On Fri, 12 Jan 2024 19:18:21 +0530 madhuker.myt...@oracle.com wrote: > +struct { > + __uint(type, BPF_MAP_TYPE_HASH); > + __type(key, __u32); > + __type(value, struct rss_key); > + __uint(max_entries, 256); > +} map_keys SEC(".maps"); >
Overall this patch is a big step forward in getting TAP BPF going again. But using the new BTF maps won't work with how the tap device is loading the BPF program. Getting BTF to work requires more steps and is best done by using libbpf. With this part of your version current kernels will give type mismatch in verifier since the type information for map_keys is not loaded. See my followon RFC for what libbpf integration looks like. Ends up being a deeper rewrite.