1. 17 Dec, 2017 1 commit
  2. 16 Dec, 2017 9 commits
  3. 15 Dec, 2017 3 commits
  4. 14 Dec, 2017 5 commits
  5. 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
  6. 09 Dec, 2017 1 commit
  7. 07 Dec, 2017 2 commits
  8. 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
  9. 04 Dec, 2017 2 commits
  10. 30 Nov, 2017 2 commits
  11. 29 Nov, 2017 3 commits
  12. 27 Nov, 2017 3 commits
  13. 25 Nov, 2017 1 commit
  14. 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
  15. 23 Nov, 2017 1 commit