• Kumar Kartikeya Dwivedi's avatar
    samples: bpf: Add basic infrastructure for XDP samples · 156f886c
    Kumar Kartikeya Dwivedi authored
    This file implements some common helpers to consolidate differences in
    features and functionality between the various XDP samples and give them
    a consistent look, feel, and reporting capabilities.
    
    This commit only adds support for receive statistics, which does not
    rely on any tracepoint, but on the XDP program installed on the device
    by each XDP redirect sample.
    
    Some of the key features are:
     * A concise output format accompanied by helpful text explaining its
       fields.
     * An elaborate output format building upon the concise one, and folding
       out details in case of errors and staying out of view otherwise.
     * Printing driver names for devices redirecting packets.
     * Getting mac address for interface.
     * Printing summarized total statistics for the entire session.
     * Ability to dynamically switch between concise and verbose mode, using
       SIGQUIT (Ctrl + \).
    
    In later patches, the support will be extended for each tracepoint with
    its own custom output in concise and verbose mode.
    Signed-off-by: default avatarKumar Kartikeya Dwivedi <memxor@gmail.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Link: https://lore.kernel.org/bpf/20210821002010.845777-4-memxor@gmail.com
    156f886c
xdp_sample_user.c 19 KB