• Yonghong Song's avatar
    tools/bpf: selftests: Add iterator programs for ipv6_route and netlink · 7c128a6b
    Yonghong Song authored
    Two bpf programs are added in this patch for netlink and ipv6_route
    target. On my VM, I am able to achieve identical
    results compared to /proc/net/netlink and /proc/net/ipv6_route.
    
      $ cat /proc/net/netlink
      sk               Eth Pid        Groups   Rmem     Wmem     Dump  Locks    Drops    Inode
      000000002c42d58b 0   0          00000000 0        0        0     2        0        7
      00000000a4e8b5e1 0   1          00000551 0        0        0     2        0        18719
      00000000e1b1c195 4   0          00000000 0        0        0     2        0        16422
      000000007e6b29f9 6   0          00000000 0        0        0     2        0        16424
      ....
      00000000159a170d 15  1862       00000002 0        0        0     2        0        1886
      000000009aca4bc9 15  3918224839 00000002 0        0        0     2        0        19076
      00000000d0ab31d2 15  1          00000002 0        0        0     2        0        18683
      000000008398fb08 16  0          00000000 0        0        0     2        0        27
      $ cat /sys/fs/bpf/my_netlink
      sk               Eth Pid        Groups   Rmem     Wmem     Dump  Locks    Drops    Inode
      000000002c42d58b 0   0          00000000 0        0        0     2        0        7
      00000000a4e8b5e1 0   1          00000551 0        0        0     2        0        18719
      00000000e1b1c195 4   0          00000000 0        0        0     2        0        16422
      000000007e6b29f9 6   0          00000000 0        0        0     2        0        16424
      ....
      00000000159a170d 15  1862       00000002 0        0        0     2        0        1886
      000000009aca4bc9 15  3918224839 00000002 0        0        0     2        0        19076
      00000000d0ab31d2 15  1          00000002 0        0        0     2        0        18683
      000000008398fb08 16  0          00000000 0        0        0     2        0        27
    
      $ cat /proc/net/ipv6_route
      fe800000000000000000000000000000 40 00000000000000000000000000000000 00 00000000000000000000000000000000 00000100 00000001 00000000 00000001     eth0
      00000000000000000000000000000000 00 00000000000000000000000000000000 00 00000000000000000000000000000000 ffffffff 00000001 00000000 00200200       lo
      00000000000000000000000000000001 80 00000000000000000000000000000000 00 00000000000000000000000000000000 00000000 00000003 00000000 80200001       lo
      fe80000000000000c04b03fffe7827ce 80 00000000000000000000000000000000 00 00000000000000000000000000000000 00000000 00000002 00000000 80200001     eth0
      ff000000000000000000000000000000 08 00000000000000000000000000000000 00 00000000000000000000000000000000 00000100 00000003 00000000 00000001     eth0
      00000000000000000000000000000000 00 00000000000000000000000000000000 00 00000000000000000000000000000000 ffffffff 00000001 00000000 00200200       lo
      $ cat /sys/fs/bpf/my_ipv6_route
      fe800000000000000000000000000000 40 00000000000000000000000000000000 00 00000000000000000000000000000000 00000100 00000001 00000000 00000001     eth0
      00000000000000000000000000000000 00 00000000000000000000000000000000 00 00000000000000000000000000000000 ffffffff 00000001 00000000 00200200       lo
      00000000000000000000000000000001 80 00000000000000000000000000000000 00 00000000000000000000000000000000 00000000 00000003 00000000 80200001       lo
      fe80000000000000c04b03fffe7827ce 80 00000000000000000000000000000000 00 00000000000000000000000000000000 00000000 00000002 00000000 80200001     eth0
      ff000000000000000000000000000000 08 00000000000000000000000000000000 00 00000000000000000000000000000000 00000100 00000003 00000000 00000001     eth0
      00000000000000000000000000000000 00 00000000000000000000000000000000 00 00000000000000000000000000000000 ffffffff 00000001 00000000 00200200       lo
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarAndrii Nakryiko <andriin@fb.com>
    Link: https://lore.kernel.org/bpf/20200509175921.2477493-1-yhs@fb.com
    7c128a6b
bpf_iter_netlink.c 1.67 KB