1. 16 Dec, 2017 1 commit
  2. 15 Dec, 2017 1 commit
  3. 14 Dec, 2017 3 commits
  4. 12 Dec, 2017 4 commits
    • 4ast's avatar
      Merge pull request #1484 from iovisor/yhs_dev · e5db52bf
      4ast authored
      add padding to the end of structure
      e5db52bf
    • Brendan Gregg's avatar
      Merge pull request #1481 from htbegin/execsnoop_fix · b384b76e
      Brendan Gregg authored
      execsnoop: fix the prototype for kprobe__sys_execve
      b384b76e
    • 4ast's avatar
      Merge pull request #1474 from iovisor/yhs_dev · 2faf0605
      4ast authored
      provide padded structure for table_{key|leaf}_desc API
      2faf0605
    • Yonghong Song's avatar
      add padding to the end of structure · b32b4a5f
      Yonghong Song authored
      Commit 538a84e1 ("provide padded structure for
      table_{key|leaf}_desc API") added explicit padding, if needed,
      before every structure member.
      
      This is not enough as if an array of elements are returned
      from C++ to python side, the size of structure must be correct.
      
      This patch also adds padding after the last structure field
      to make structure size in python side consistent with C++
      side. With this patch, I experimented with the pull request
      for tcpretrans.py by Matthias Tafelmeier, the type
        struct ipv6_flow_key_t {
            unsigned __int128 saddr;
            unsigned __int128 daddr;
            u64 lport;
            u64 dport;
        }
      can be replaced with
        struct ipv6_flow_key_t {
            unsigned __int128 saddr;
            unsigned __int128 daddr;
            u16 lport;
            u16 dport;
        }
      where the original type of lport/dport is u16.
      Some other ipv6 related data structures can also be simplified.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      b32b4a5f
  5. 09 Dec, 2017 1 commit
  6. 07 Dec, 2017 2 commits
  7. 05 Dec, 2017 1 commit
    • Yonghong Song's avatar
      provide padded structure for table_{key|leaf}_desc API · 538a84e1
      Yonghong Song authored
      This patch intends to fix issue #606.
      
      Currently, the key/value type information is passed from
      C++ to Python through a JSON interface. The JSON is
      constructed by traversing the struct/field's through clang
      AST interface. Once Python gets the JSON, it will
      reconstruct the C structure through ctype module.
      
      There are two known issues where Python reconstructed
      C structure may not be the same as the original C structure:
        . if user explicitly use "__attribute__ ((align))" to alter
          field alignment and such information is not passed to
          Python.
        . the "__int128" type is a u64[2] array in python.
          So in C, __int128 needs to align on 16 bytes boundary, and
          in Python, it aligns with 8 bytes boundary.
      
      To solve this issue, this patch provided the structure
      with added padding fields to Python. For example,
        struct {
          char a;
          __int128 b;
        };
      Python will receive
        struct {
          char a;
          char __pad_1[15];
          __int128 b;
        };
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      538a84e1
  8. 04 Dec, 2017 2 commits
  9. 30 Nov, 2017 2 commits
  10. 29 Nov, 2017 3 commits
  11. 27 Nov, 2017 3 commits
  12. 25 Nov, 2017 1 commit
  13. 24 Nov, 2017 2 commits
    • yonghong-song's avatar
      Merge pull request #1456 from iamkafai/kafai_dev · 392267f4
      yonghong-song authored
      man/bps: Add a man page for introspection/bps.c
      392267f4
    • Olivier Tilmans's avatar
      python: make _decode_table_types aware of __int128 · a1962c6e
      Olivier Tilmans authored
      There are no ctypes types ready for int128. However, recognizing this
      type and representing it as an array is better than simply erroring out.
      
      * Add mapping between (unsigned) __128 C types declaration and ctypes
        parsing
      * Add simple test case in test_clang to recognisze and use such types
      * Fixes deprecation warnings about self.assertEquals in 2 other test
        cases.
      a1962c6e
  14. 23 Nov, 2017 1 commit
  15. 22 Nov, 2017 8 commits
  16. 21 Nov, 2017 5 commits
    • Ivan Babrou's avatar
      95c20b01
    • Olivier Tilmans's avatar
      Fix dns_matching example · 1af99d4e
      Olivier Tilmans authored
      * The name encoding function was not checking the constraints on domain
        names properly (<= 253 chars as one byte is needed for the name of the
        label and one for the terminating 0-len label; <= 63 chars per label).
      * The name encoding function was erroring when assigning a struct value
        in the byte array (Python 3.6.3). Refactored to join successive
        subarrays, and moved the null padding to make it explicit that it is
        needed by the bpf map key (and not the dns encoding).
      * Used builtin from argparse to have a list of domains in the command
        line arguments.
      * Reset the non-block flag through fcntl directly instead of
        reconstructing a socket object.
      * Exit gracefully when triggering SIGINT as hinted.
      1af99d4e
    • Lukasz Dorau's avatar
      Update info about Ubuntu Xenial in INSTALL.md · 61bc92ad
      Lukasz Dorau authored
      Update info about installing stable packages
      for Ubuntu Xenial in INSTALL.md
      
      Fixes:#1440
      61bc92ad
    • 4ast's avatar
      Merge pull request #1448 from palmtenor/hw_cache_events · dee8f8f0
      4ast authored
      Update perf event type and config checks
      dee8f8f0
    • Teng Qin's avatar
      Update perf event type and config checks · 01b07bae
      Teng Qin authored
      01b07bae