On Wed, Jul 18, 2018 at 11:13:37AM -0700, Jakub Kicinski wrote: > On Wed, 18 Jul 2018 11:33:22 +0200, Daniel Borkmann wrote: > > On 07/18/2018 10:42 AM, Daniel Borkmann wrote: > > > On 07/18/2018 02:27 AM, Jakub Kicinski wrote: > > >> On Wed, 18 Jul 2018 01:31:22 +0200, Daniel Borkmann wrote: > > >>> # bpftool map dump id 386 > > >>> [{ > > >>> "key": 0, > > >>> "value": { > > >>> "": { > > >>> "value": 0, > > >>> "ifindex": 0, > > >>> "mac": [] > > >>> } > > >>> } > > >>> },{ > > >>> "key": 1, > > >>> "value": { > > >>> "": { > > >>> "value": 0, > > >>> "ifindex": 0, > > >>> "mac": [] > > >>> } > > >>> } > > >>> },{ > > >>> [...] > > >> > > >> Ugh, the empty keys ("") look worrying, we should probably improve > > >> handling of anonymous structs in bpftool :S > > > > > > Yeah agree, I think it would be nice to see a more pahole style dump > > > where we have types and member names along with the value as otherwise > > > it might be a bit confusing. > > > > Another feature that would be super useful imho would be in the /single/ > > map view e.g. 'bpftool map show id 123' to have a detailed BTF key+value > > type dump, so in addition to the basic map info we show pahole like info > > of the structs with length/offsets. > > That sounds good! We could also consider adding a btf object and > commands to interrogate BTF types in the kernel in general.. Perhaps > then we could add something like bpftool btf describe map id 123. +1 on the btf subcommand.
> > Having the single map view show more information seems interesting, but > I wonder if it could be surprising. Is there precedent for such > behaviour? Having everything in one page (map show id 123) could be interesting. One thing is the pahole-like output may be quite long? e.g. the member of a struct could itself be another struct. Not sure how the pahole-like output may look like in json though.