• Prashant Bhole's avatar
    tools/bpf: bpftool, print strerror when map lookup error occurs · 8ec92dc2
    Prashant Bhole authored
    Since map lookup error can be ENOENT or EOPNOTSUPP, let's print
    strerror() as error message in normal and JSON output.
    
    This patch adds helper function print_entry_error() to print
    entry from lookup error occurs
    
    Example: Following example dumps a map which does not support lookup.
    
    Output before:
    root# bpftool map -jp dump id 40
    [
        "key": ["0x0a","0x00","0x00","0x00"
        ],
        "value": {
            "error": "can\'t lookup element"
        },
        "key": ["0x0b","0x00","0x00","0x00"
        ],
        "value": {
            "error": "can\'t lookup element"
        }
    ]
    
    root# bpftool map dump id 40
    can't lookup element with key:
    0a 00 00 00
    can't lookup element with key:
    0b 00 00 00
    Found 0 elements
    
    Output after changes:
    root# bpftool map dump -jp  id 45
    [
        "key": ["0x0a","0x00","0x00","0x00"
        ],
        "value": {
            "error": "Operation not supported"
        },
        "key": ["0x0b","0x00","0x00","0x00"
        ],
        "value": {
            "error": "Operation not supported"
        }
    ]
    
    root# bpftool map dump id 45
    key:
    0a 00 00 00
    value:
    Operation not supported
    key:
    0b 00 00 00
    value:
    Operation not supported
    Found 0 elements
    Signed-off-by: default avatarPrashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
    Acked-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarSong Liu <songliubraving@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    8ec92dc2
map.c 23.8 KB