• Yonghong Song's avatar
    tools/bpf: bpftool: support prog array map and map of maps · ad3338d2
    Yonghong Song authored
    Currently, prog array map and map of maps are not supported
    in bpftool. This patch added the support.
    Different from other map types, for prog array map and
    map of maps, the key returned bpf_get_next_key() may not
    point to a valid value. So for these two map types,
    no error will be printed out when such a scenario happens.
    
    The following is the plain and json dump if btf is not available:
      $ ./bpftool map dump id 10
        key: 08 00 00 00  value: 5c 01 00 00
        Found 1 element
      $ ./bpftool -jp map dump id 10
        [{
            "key": ["0x08","0x00","0x00","0x00"
            ],
            "value": ["0x5c","0x01","0x00","0x00"
            ]
        }]
    
    If the BTF is available, the dump looks below:
      $ ./bpftool map dump id 2
        [{
                "key": 0,
                "value": 7
            }
        ]
      $ ./bpftool -jp map dump id 2
        [{
            "key": ["0x00","0x00","0x00","0x00"
            ],
            "value": ["0x07","0x00","0x00","0x00"
            ],
            "formatted": {
                "key": 0,
                "value": 7
            }
        }]
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    ad3338d2
map.c 22.9 KB