platform/upstream/bcc.git
9 years agoMerge pull request #43 from iovisor/dext-fix
4ast [Wed, 10 Jun 2015 05:47:16 +0000 (22:47 -0700)]
Merge pull request #43 from iovisor/dext-fix

Fix for >32B bpf_pkt_dext calls

9 years agoMerge pull request #42 from iovisor/yhs_dev
4ast [Wed, 10 Jun 2015 05:46:37 +0000 (22:46 -0700)]
Merge pull request #42 from iovisor/yhs_dev

add a bridge-router-bridge test with router implemented as a namespace

9 years agoFix for >32B bpf_pkt_dext calls
Brenden Blanco [Wed, 10 Jun 2015 05:42:38 +0000 (22:42 -0700)]
Fix for >32B bpf_pkt_dext calls

* Fix the shift which was 4 (bytes) instead of 32 (bits)
* Remove an incorrect ntoh

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoadd a bridge-router-bridge test with router implemented as a namespace
Yonghong Song [Mon, 8 Jun 2015 20:22:09 +0000 (13:22 -0700)]
add a bridge-router-bridge test with router implemented as a namespace

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoMerge pull request #40 from iovisor/ast_dev
Brenden Blanco [Wed, 10 Jun 2015 03:39:10 +0000 (20:39 -0700)]
Merge pull request #40 from iovisor/ast_dev

start building FAQ

9 years agostart building FAQ
Alexei Starovoitov [Wed, 10 Jun 2015 03:36:56 +0000 (20:36 -0700)]
start building FAQ

9 years agoMerge pull request #39 from iovisor/revision-fix
4ast [Wed, 10 Jun 2015 03:32:33 +0000 (20:32 -0700)]
Merge pull request #39 from iovisor/revision-fix

Omit leading 'v' from python .tar.gz revision

9 years agoOmit leading 'v' from python .tar.gz revision
Brenden Blanco [Wed, 10 Jun 2015 03:28:27 +0000 (20:28 -0700)]
Omit leading 'v' from python .tar.gz revision

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #38 from iovisor/ast_dev
Brenden Blanco [Wed, 10 Jun 2015 03:22:00 +0000 (20:22 -0700)]
Merge pull request #38 from iovisor/ast_dev

build without have to install llvm/clang

9 years agobuild without have to install llvm/clang
Alexei Starovoitov [Wed, 10 Jun 2015 02:37:38 +0000 (19:37 -0700)]
build without have to install llvm/clang

just update PATH to include 'llvm-config' from your local
llvm build directory.

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
9 years agoMerge pull request #37 from iovisor/quick_fix
4ast [Wed, 10 Jun 2015 01:10:08 +0000 (18:10 -0700)]
Merge pull request #37 from iovisor/quick_fix

Drop 'experimental' from README.md

9 years agoDrop 'experimental' from README.md
Brenden Blanco [Wed, 10 Jun 2015 01:00:23 +0000 (18:00 -0700)]
Drop 'experimental' from README.md

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #36 from iovisor/install_cleanups
4ast [Wed, 10 Jun 2015 00:58:42 +0000 (17:58 -0700)]
Merge pull request #36 from iovisor/install_cleanups

Make installation prefixes more realistic

9 years agoMake installation prefixes more realistic
Brenden Blanco [Wed, 10 Jun 2015 00:43:27 +0000 (17:43 -0700)]
Make installation prefixes more realistic

* Add/document cmake variables that control various installation path
  options. See README.md for examples.
* Updated README a bit
* Hide helpers.h from include requirements
* Install things to real paths in a proper way. Header files will go
  into <prefix>/share/bcc/include.
* Move the kickstart script readme to its own directory.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #34 from iovisor/ast_dev
Brenden Blanco [Tue, 9 Jun 2015 21:00:50 +0000 (14:00 -0700)]
Merge pull request #34 from iovisor/ast_dev

fix build with gcc < 4.9

9 years agofix build with gcc < 4.9
Alexei Starovoitov [Tue, 9 Jun 2015 19:50:42 +0000 (12:50 -0700)]
fix build with gcc < 4.9

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
9 years agoMerge pull request #33 from iovisor/bblanco_dev
4ast [Mon, 8 Jun 2015 19:41:56 +0000 (12:41 -0700)]
Merge pull request #33 from iovisor/bblanco_dev

Fix test_call1 for systems without default qdisc

9 years agoFix test_call1 for systems without default qdisc
Brenden Blanco [Mon, 8 Jun 2015 19:06:00 +0000 (12:06 -0700)]
Fix test_call1 for systems without default qdisc

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #32 from iovisor/bblanco_dev
4ast [Mon, 8 Jun 2015 19:06:10 +0000 (12:06 -0700)]
Merge pull request #32 from iovisor/bblanco_dev

Fix test_xlate1 when systems have no default tc

9 years agoFix test_xlate1 when systems have no default tc
Brenden Blanco [Mon, 8 Jun 2015 19:01:07 +0000 (12:01 -0700)]
Fix test_xlate1 when systems have no default tc

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #31 from iovisor/bblanco_dev
4ast [Mon, 8 Jun 2015 06:04:02 +0000 (23:04 -0700)]
Merge pull request #31 from iovisor/bblanco_dev

Remove BPF_LL_OFF usage

9 years agoRemove BPF_LL_OFF usage
Brenden Blanco [Mon, 8 Jun 2015 06:00:14 +0000 (23:00 -0700)]
Remove BPF_LL_OFF usage

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #30 from iovisor/bblanco_dev
4ast [Mon, 8 Jun 2015 05:39:10 +0000 (22:39 -0700)]
Merge pull request #30 from iovisor/bblanco_dev

Add python packaging for the bpf library

9 years agoAdd python packaging for the bpf library
Brenden Blanco [Mon, 8 Jun 2015 05:32:33 +0000 (22:32 -0700)]
Add python packaging for the bpf library

* Add tagging/git support
* Reorganize bpf py lib to be more pythonic
* Add pip installable builders

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #29 from iovisor/bblanco_dev v0.1
4ast [Fri, 5 Jun 2015 20:35:39 +0000 (13:35 -0700)]
Merge pull request #29 from iovisor/bblanco_dev

Add simple single file example

9 years agoAdd simple single file example
Brenden Blanco [Fri, 5 Jun 2015 20:28:17 +0000 (13:28 -0700)]
Add simple single file example

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #28 from iovisor/bblanco_dev
4ast [Fri, 5 Jun 2015 18:22:08 +0000 (11:22 -0700)]
Merge pull request #28 from iovisor/bblanco_dev

Update license in source code to be Apache 2

9 years agoUpdate license in source code to be Apache 2
Brenden Blanco [Fri, 5 Jun 2015 18:15:27 +0000 (11:15 -0700)]
Update license in source code to be Apache 2

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #27 from plumgrid/bblanco_dev
4ast [Fri, 5 Jun 2015 06:17:56 +0000 (23:17 -0700)]
Merge pull request #27 from plumgrid/bblanco_dev

Convert to using pyroute2 for tc

9 years agoConvert to using pyroute2 for tc
Brenden Blanco [Fri, 5 Jun 2015 01:01:42 +0000 (18:01 -0700)]
Convert to using pyroute2 for tc

* Remove libbpf.c netlink
* Requires pyroute2 from source
 git clone https://github.com/svinota/pyroute2.git;
          cd pyroute2; sudo make install

Update: Remove references to mnl

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoCreate COPYRIGHT.txt
Brenden Blanco [Fri, 5 Jun 2015 04:45:05 +0000 (21:45 -0700)]
Create COPYRIGHT.txt

9 years agoCreate LICENSE.txt
Brenden Blanco [Fri, 5 Jun 2015 03:43:57 +0000 (20:43 -0700)]
Create LICENSE.txt

9 years agoMerge pull request #25 from plumgrid/bblanco_dev
4ast [Mon, 1 Jun 2015 17:31:53 +0000 (10:31 -0700)]
Merge pull request #25 from plumgrid/bblanco_dev

Rename files and a few functions

9 years agoRename files and a few functions
Brenden Blanco [Mon, 1 Jun 2015 17:15:42 +0000 (10:15 -0700)]
Rename files and a few functions

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #24 from plumgrid/bblanco_dev
4ast [Mon, 1 Jun 2015 17:01:51 +0000 (10:01 -0700)]
Merge pull request #24 from plumgrid/bblanco_dev

Add support for packet field write

9 years agoAdd support for packet field write
Brenden Blanco [Fri, 29 May 2015 18:14:20 +0000 (11:14 -0700)]
Add support for packet field write

* Rewrite LValue packet dereference to bpf_dins
* Add incr_csum as a macro
* Update names of a few functions

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #23 from plumgrid/bblanco_dev
4ast [Fri, 29 May 2015 02:16:07 +0000 (19:16 -0700)]
Merge pull request #23 from plumgrid/bblanco_dev

Return 0 in lookup_or_init error path

9 years agoReturn 0 in lookup_or_init error path
Brenden Blanco [Fri, 29 May 2015 01:40:09 +0000 (18:40 -0700)]
Return 0 in lookup_or_init error path

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #22 from plumgrid/bblanco_dev
4ast [Fri, 29 May 2015 01:37:30 +0000 (18:37 -0700)]
Merge pull request #22 from plumgrid/bblanco_dev

Add packet read syntax to c parser

9 years agoAdd packet read syntax to c parser
Brenden Blanco [Fri, 29 May 2015 01:19:38 +0000 (18:19 -0700)]
Add packet read syntax to c parser

* C macro-based state machine
* Add lookup_or_init helper routine instead of array syntax
* Recognize references to protocol headers and translate into dext call

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #21 from plumgrid/yhs_dev
Brenden [Thu, 28 May 2015 21:41:18 +0000 (14:41 -0700)]
Merge pull request #21 from plumgrid/yhs_dev

Fix a python (version 2.7.3) error

9 years agoFix a python (version 2.7.3) error
Yonghong Song [Thu, 28 May 2015 21:24:08 +0000 (14:24 -0700)]
Fix a python (version 2.7.3) error

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoMerge pull request #20 from plumgrid/small_test_fix
4ast [Thu, 28 May 2015 00:20:27 +0000 (17:20 -0700)]
Merge pull request #20 from plumgrid/small_test_fix

Fix for 2 tests

9 years agoFix for 2 tests
Brenden Blanco [Wed, 27 May 2015 23:56:08 +0000 (16:56 -0700)]
Fix for 2 tests

* name needed to be right ctype
* python runtime was complaining about dangling socket fd

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #19 from plumgrid/llvm_fix
4ast [Wed, 27 May 2015 23:53:29 +0000 (16:53 -0700)]
Merge pull request #19 from plumgrid/llvm_fix

Fix for LLVM C++ api change

9 years agoFix for LLVM C++ api change
Brenden Blanco [Wed, 27 May 2015 23:48:15 +0000 (16:48 -0700)]
Fix for LLVM C++ api change

* IRBuilder::CreateCallN was deprecated, use the vector based mechanism
  for passing args instead

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #18 from plumgrid/issue16_cleanups
4ast [Wed, 27 May 2015 22:46:54 +0000 (15:46 -0700)]
Merge pull request #18 from plumgrid/issue16_cleanups

Address comments and add tail_call example

9 years agoAddress comments and add tail_call example
Brenden Blanco [Wed, 27 May 2015 22:41:35 +0000 (15:41 -0700)]
Address comments and add tail_call example

* Cleanup some api names and definitions
* Add <table>.call() in C api, which maps to bpf_tail_call

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #17 from plumgrid/issue16
4ast [Wed, 27 May 2015 18:01:26 +0000 (11:01 -0700)]
Merge pull request #17 from plumgrid/issue16

Address some of Issue #16

9 years agoAddress some of Issue #16
Brenden Blanco [Wed, 27 May 2015 08:29:34 +0000 (01:29 -0700)]
Address some of Issue #16

* Introduce Function object in bpf.py
 - prog load types (kprobe, socket, etc.) are independent
 - fd is a member of each function, to be used later (e.g. tail call table)
* Allow functions to be defined inline in the .py as a text argument
* Rename BPFProgram to BPFModule, which should make more sense

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #15 from plumgrid/clang_b_lang
4ast [Tue, 26 May 2015 21:02:33 +0000 (14:02 -0700)]
Merge pull request #15 from plumgrid/clang_b_lang

Add clang support to bcc

9 years agoAdd clang support to bcc
Brenden Blanco [Tue, 26 May 2015 18:48:17 +0000 (11:48 -0700)]
Add clang support to bcc

* Frontend options: b and modified c languages
* Tests written for both languages
* Automatic kbuild integration
* Some cleanups and files moved

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #14 from plumgrid/plumgrid/ysong_dev
Brenden [Mon, 11 May 2015 18:02:48 +0000 (14:02 -0400)]
Merge pull request #14 from plumgrid/plumgrid/ysong_dev

fix a typo

9 years agofix a typo
Yonghong Song [Mon, 11 May 2015 18:00:02 +0000 (11:00 -0700)]
fix a typo

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoMerge pull request #11 from plumgrid/clang_dev
4ast [Mon, 11 May 2015 06:08:13 +0000 (23:08 -0700)]
Merge pull request #11 from plumgrid/clang_dev

Use clang as a lib to parse the helper file live

9 years agoUse clang as a lib to parse the helper file live
Brenden Blanco [Sun, 10 May 2015 19:15:06 +0000 (12:15 -0700)]
Use clang as a lib to parse the helper file live

* Add clang as a library to the .so...this adds about 16M of stuff
* Compute the build flags for clang from the current kernel's header
  build tree. It generates a makefile on the fly and caches the minimal
  flags as an output.
* Followup to this would be to migrate bitops.c to be #include'd as well
  as the proto.d/kprobe.d stuff.
* For now, requires clang to be installed in /opt/local/llvm...see cmake
  files to override this.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #9 from plumgrid/fix_issue8
Brenden [Thu, 7 May 2015 20:53:35 +0000 (16:53 -0400)]
Merge pull request #9 from plumgrid/fix_issue8

Fix for Issue #8, pkt.rewrite_field

9 years agoFix for Issue #8, pkt.rewrite_field
Brenden Blanco [Thu, 7 May 2015 20:14:00 +0000 (13:14 -0700)]
Fix for Issue #8, pkt.rewrite_field

* This was unintentionally removed in the last cleanup, adding it back.
* Also adding support for $ip.dst = XXX style syntax
* This is an ugly commit, please bear with it until I figure out the
  structure of the language, especially w.r.t. proto:: type fields.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #7 from plumgrid/clang-300
4ast [Wed, 6 May 2015 16:01:59 +0000 (09:01 -0700)]
Merge pull request #7 from plumgrid/clang-300

Reduce strength of clang requirement to 3.0

9 years agoReduce strength of clang requirement to 3.0
Brenden Blanco [Wed, 6 May 2015 15:53:00 +0000 (08:53 -0700)]
Reduce strength of clang requirement to 3.0

* All that is required is that clang binary IR is compatible
  with llvm 3.7.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #6 from plumgrid/ast_dev
Brenden [Tue, 5 May 2015 01:56:33 +0000 (18:56 -0700)]
Merge pull request #6 from plumgrid/ast_dev

fix build with bison 2.5

9 years agofix build with bison 2.5
Alexei Starovoitov [Tue, 5 May 2015 01:52:18 +0000 (18:52 -0700)]
fix build with bison 2.5

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
9 years agoRemove breakpoint in virsh script left on accident
Brenden Blanco [Mon, 4 May 2015 05:47:13 +0000 (22:47 -0700)]
Remove breakpoint in virsh script left on accident

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoUpdated README, example virt-install script
Brenden Blanco [Sun, 3 May 2015 17:43:07 +0000 (10:43 -0700)]
Updated README, example virt-install script

* Add Getting Started section in README.md
* Add a virt-install script which creates a BPF-capable Fedora 21 VM
* Fix a test that was failing on F21

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoCreate README.md
Brenden [Sun, 3 May 2015 15:33:53 +0000 (08:33 -0700)]
Create README.md

9 years agoInitial commit
Brenden Blanco [Sun, 26 Apr 2015 16:41:58 +0000 (09:41 -0700)]
Initial commit

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoInitial commit
Brenden Blanco [Sun, 26 Apr 2015 07:56:42 +0000 (00:56 -0700)]
Initial commit

llvm-jit based parser and loader