Brendan Gregg [Mon, 7 Sep 2015 21:34:22 +0000 (14:34 -0700)]
add print_log2_hist() from #143
Brendan Gregg [Mon, 7 Sep 2015 20:28:43 +0000 (13:28 -0700)]
Merge remote-tracking branch 'upstream/master'
Brenden Blanco [Sat, 5 Sep 2015 04:20:59 +0000 (21:20 -0700)]
Shorten trace_readline_fields to trace_fields
* Per suggestion in #149
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Sat, 5 Sep 2015 05:24:26 +0000 (22:24 -0700)]
Merge pull request #183 from iovisor/bblanco_dev
Shorten trace_readline_fields to trace_fields
Brenden Blanco [Sat, 5 Sep 2015 04:20:59 +0000 (21:20 -0700)]
Shorten trace_readline_fields to trace_fields
* Per suggestion in #149
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Sat, 5 Sep 2015 02:12:23 +0000 (19:12 -0700)]
Merge pull request #182 from brendangregg/master
simplify code using new features
Brendan Gregg [Sat, 5 Sep 2015 00:42:51 +0000 (17:42 -0700)]
simplify code using new features
4ast [Fri, 4 Sep 2015 22:21:53 +0000 (15:21 -0700)]
Merge pull request #181 from iovisor/bblanco_dev
Reorganize cmake, some cleanups and test fixes.
Brenden Blanco [Fri, 4 Sep 2015 21:56:31 +0000 (14:56 -0700)]
The use of schedule+<offset> was unstable, remove it
* After a kernel update, the binary of schedule function changed offset,
and the attachment point updated. Since this is just a test case, pick
a different function to test.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Fri, 4 Sep 2015 21:55:35 +0000 (14:55 -0700)]
Remove std::exception code from exception.h
* The c++ exception code was unused, now it is just c macro style
"exceptions"
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Fri, 4 Sep 2015 16:36:37 +0000 (09:36 -0700)]
Reorganize cmake files into dedicated cmake directory
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Fri, 4 Sep 2015 15:14:54 +0000 (08:14 -0700)]
Merge pull request #180 from iovisor/bblanco_dev
Update README.md and INSTALL.md, specfile dependencies
Brenden Blanco [Fri, 4 Sep 2015 07:08:19 +0000 (00:08 -0700)]
Some more minor updates to INSTALL and README
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Fri, 4 Sep 2015 06:24:49 +0000 (23:24 -0700)]
Add spec and build script used in fedora buildbot
* These files are required to build the test rpm
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Fri, 4 Sep 2015 05:07:13 +0000 (22:07 -0700)]
Minor updates to install doc and add dep to spec files
* Add some runtime dependencies in INSTALL.md
* make and gcc are required at runtime, so add them to libbcc Requires:
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 3 Sep 2015 23:31:47 +0000 (16:31 -0700)]
Updates to README and INSTALL documents
* Some changes to python API examples
* Reflect non-rc kernel availability in install doc
* Add binary rpm section to install doc
* Remove docker build instructions
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Thu, 3 Sep 2015 19:01:18 +0000 (12:01 -0700)]
Merge pull request #178 from iovisor/llvm_fixes
Fixes for when using clang/llvm as CC/CXX
4ast [Thu, 3 Sep 2015 18:56:30 +0000 (11:56 -0700)]
Merge pull request #177 from iovisor/bblanco_dev
Enhance check for presence of static-libstdc++
Brenden Blanco [Thu, 3 Sep 2015 18:49:54 +0000 (11:49 -0700)]
Workaround for uninitialized union clang bug
* Clang does not generate code to initialize the entire union when
initializing a nested struct. This is the case for union bpf_attr.
As a workaround, call memset explicitly.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 3 Sep 2015 18:46:35 +0000 (11:46 -0700)]
Fix compiler warnings when using clang[++]
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 3 Sep 2015 18:12:17 +0000 (11:12 -0700)]
Enhance check for presence of static-libstdc++
* Fixes a link error on Ubuntu when static-libstdc++ is not installed.
Reported-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Thu, 3 Sep 2015 05:03:40 +0000 (22:03 -0700)]
Merge pull request #176 from iovisor/bblanco_dev
Include missed spec files in s/bpf/bcc/ rename
Brenden Blanco [Thu, 3 Sep 2015 05:00:12 +0000 (22:00 -0700)]
Include missed spec files in s/bpf/bcc/ rename
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Thu, 3 Sep 2015 01:25:45 +0000 (18:25 -0700)]
Merge pull request #175 from iovisor/bblanco_dev
Rename python module name to 'bcc' from 'bpf'
Brenden Blanco [Thu, 3 Sep 2015 01:04:07 +0000 (18:04 -0700)]
Rename python module name to 'bcc' from 'bpf'
* Rename python module to bcc
* Rename python-bpf (deb,rpm) package to python-bcc
* Pending this change, I will likely re-tag 0.1.6, and upload the bcc
package to pypi.python.org
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
yonghong-song [Wed, 2 Sep 2015 18:33:11 +0000 (11:33 -0700)]
Merge pull request #174 from iovisor/bblanco_dev
Update tag to v0.1.6, include finall llvm 3.7.0 release
Brenden Blanco [Wed, 2 Sep 2015 17:26:59 +0000 (10:26 -0700)]
Add debian builder script that is versioned
* This script can be run by buildbot to generate the debian files
e.g.: PARALLEL=4 scripts/build-deb.sh
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 2 Sep 2015 16:23:56 +0000 (09:23 -0700)]
Fix debian changelog formatting
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 2 Sep 2015 06:19:27 +0000 (23:19 -0700)]
Update tag to v0.1.6, include finall llvm 3.7.0 release
* Update llvm to 3.7.0 release
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Tue, 1 Sep 2015 16:45:23 +0000 (09:45 -0700)]
Merge pull request #173 from iovisor/bblanco_dev
Add RPM packaging for el6,el7,fedora22
Brenden Blanco [Tue, 1 Sep 2015 01:19:33 +0000 (18:19 -0700)]
Add RPM packaging for el6,el7,fedora22
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Mon, 31 Aug 2015 21:15:25 +0000 (14:15 -0700)]
Merge pull request #171 from iovisor/bblanco_dev
Minor change to task_switch example syntax
Brenden Blanco [Sat, 29 Aug 2015 15:08:01 +0000 (08:08 -0700)]
Merge pull request #172 from brendangregg/master
initial ksym() and ksymaddr()
Brendan Gregg [Sat, 29 Aug 2015 08:32:34 +0000 (18:32 +1000)]
Merge remote-tracking branch 'upstream/master'
Brenden Blanco [Sat, 29 Aug 2015 06:15:19 +0000 (23:15 -0700)]
Minor change to task_switch example syntax
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Sat, 29 Aug 2015 05:56:50 +0000 (22:56 -0700)]
Merge pull request #170 from iovisor/bblanco_dev
Add beta RPM spec and docker script for centos
Brenden Blanco [Sat, 29 Aug 2015 05:53:56 +0000 (22:53 -0700)]
Add another spec dependency
Testing buildbot
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Sat, 29 Aug 2015 05:45:27 +0000 (22:45 -0700)]
Add one dependency to spec
Also, testing buildbot with this tiny change
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brendan Gregg [Sat, 29 Aug 2015 05:14:07 +0000 (15:14 +1000)]
make use of BPF.ksym()
Brendan Gregg [Sat, 29 Aug 2015 05:12:57 +0000 (15:12 +1000)]
provide ksym() and ksymaddr()
Brendan Gregg [Sat, 29 Aug 2015 04:53:22 +0000 (14:53 +1000)]
use new event_re option to improve vfscount
Brenden Blanco [Sat, 29 Aug 2015 04:44:35 +0000 (21:44 -0700)]
Add beta RPM spec and docker script for centos
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 27 Aug 2015 07:59:34 +0000 (00:59 -0700)]
Merge pull request #168 from iovisor/weichunc_dev
Add gretap support for full mesh tunnel
Wei-Chun Chao [Wed, 26 Aug 2015 21:57:21 +0000 (14:57 -0700)]
Add gretap support for full mesh tunnel
Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
4ast [Wed, 26 Aug 2015 14:49:41 +0000 (07:49 -0700)]
Merge pull request #166 from iovisor/bblanco_dev
Add proper debian build support, rename libbcc.so
Brenden Blanco [Wed, 26 Aug 2015 13:46:37 +0000 (06:46 -0700)]
Merge pull request #167 from brendangregg/master
improve examples using new features
Brendan Gregg [Wed, 26 Aug 2015 10:16:29 +0000 (20:16 +1000)]
improve code by utilizing trace_readline_fields()
Brendan Gregg [Wed, 26 Aug 2015 10:15:18 +0000 (20:15 +1000)]
improve code by utilizing .clear()
Brenden Blanco [Wed, 26 Aug 2015 07:13:23 +0000 (00:13 -0700)]
Support versioning out of git tree in debuild
This adds support for properly tagging the build when cmake is run not
in a git tree, which is the case when building from src-deb.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 26 Aug 2015 06:14:25 +0000 (23:14 -0700)]
Add proper debian build support
The cmake based build system is nice, but not quite production ready.
Move to the more painful but featureful debuild style. This is one step
towards an upstreamable package.
Rename libbpfprog (ugh) to libbcc.
Split out python-bpf and libbcc-examples into separate packages that
depend on libbcc.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Wed, 26 Aug 2015 05:43:22 +0000 (22:43 -0700)]
Merge pull request #165 from iovisor/bblanco_dev
Fix print() breakage in python 2.7 environments
Brenden Blanco [Wed, 26 Aug 2015 05:40:21 +0000 (22:40 -0700)]
Fix print() breakage in python 2.7 environments
Fixes: #164
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Tue, 25 Aug 2015 14:36:16 +0000 (07:36 -0700)]
Merge pull request #163 from iovisor/bblanco_dev
Add debug flag to enable prints from kernel verifier
Brenden Blanco [Tue, 25 Aug 2015 06:55:59 +0000 (23:55 -0700)]
test_trace4 is unreliable, use a different test regex
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Tue, 25 Aug 2015 06:42:42 +0000 (23:42 -0700)]
Add debug flag to enable prints from kernel verifier
Add flag to BPF() to enable debug prints from the verifier. Use by
passing 0x2 to debug= in the constructor. Add docstring for BPF
constructor.
Also, optimize bpf_prog_load so that by default the kernel is not
asked to print the verbose output. The program will be "loaded" a second
time to capture the verifier failure message.
Fixes: #147
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Tue, 25 Aug 2015 05:02:49 +0000 (22:02 -0700)]
Merge pull request #162 from iovisor/bblanco_dev
Add regex support to attach_k[ret]probe
Brenden Blanco [Tue, 25 Aug 2015 04:33:25 +0000 (21:33 -0700)]
Add regex support to attach_k[ret]probe
Add new event_re parameter to kprobe functions. This searches through
the list of functions/symbols in <tracefs>/available_filter_functions
for all matching functions. Every one is attached.
Add a test case for attach_k[ret]probe.
Fixes: #141
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
yonghong-song [Mon, 24 Aug 2015 23:15:48 +0000 (16:15 -0700)]
Merge pull request #161 from svinota/master
examples: use IPDB `wait_ip()` feature
Peter V. Saveliev [Mon, 24 Aug 2015 19:55:35 +0000 (21:55 +0200)]
examples: use IPDB `wait_ip()` feature
4ast [Mon, 24 Aug 2015 19:23:09 +0000 (12:23 -0700)]
Merge pull request #160 from iovisor/bblanco_dev
Add field support to trace_print and friends
Brenden Blanco [Mon, 24 Aug 2015 19:06:36 +0000 (12:06 -0700)]
Add field support to trace_print and friends
Add trace_readline_fields helper to parse the output of trace_pipe
Add field parsing support to trace_print. Addresses #149.
Fix typo in trace_open s/trace/tracefile/
Make nonblocking=False the default in trace_readline
Use IOError vs BlockingIOError for greater compatibility (untested)
Fixes: #149
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Mon, 24 Aug 2015 16:55:57 +0000 (09:55 -0700)]
Merge pull request #158 from iovisor/bblanco_dev
Fix map.clear() usage for array type maps
Brenden Blanco [Mon, 24 Aug 2015 05:59:38 +0000 (22:59 -0700)]
Fix map.clear() usage for array type maps
Calling delete on an array type map entry does not have an effect.
Instead, the entry needs to be zeroed out, since the array slot always
exists. To avoid unnecessary calls to update(), only call update() when
the map type is array-like. The type was not exposed to python up until
now, so add it.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Sat, 22 Aug 2015 16:55:09 +0000 (09:55 -0700)]
Merge pull request #157 from iovisor/bblanco_dev
Add test case for clearing of maps from python
Brenden Blanco [Sat, 22 Aug 2015 15:33:29 +0000 (08:33 -0700)]
Add test case for clearing of maps from python
Fixes: #142
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Fri, 21 Aug 2015 23:37:01 +0000 (16:37 -0700)]
Merge pull request #156 from iovisor/bblanco_dev
Add BPF python helpers for reading trace_pipe
Brenden Blanco [Fri, 21 Aug 2015 23:33:02 +0000 (16:33 -0700)]
Add BPF python helpers for reading trace_pipe
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Thu, 20 Aug 2015 19:56:35 +0000 (12:56 -0700)]
Merge pull request #153 from brendangregg/master
more examples of b[] syntax, fix func arg passing
Brendan Gregg [Thu, 20 Aug 2015 19:52:30 +0000 (12:52 -0700)]
tidier example
Brendan Gregg [Thu, 20 Aug 2015 19:40:37 +0000 (12:40 -0700)]
more examples of b[] syntax, fix func arg passing
4ast [Thu, 20 Aug 2015 18:46:42 +0000 (11:46 -0700)]
Merge pull request #152 from iovisor/bblanco_dev
Add getitem api to BPF object to reference tables
Brenden Blanco [Thu, 20 Aug 2015 18:27:21 +0000 (11:27 -0700)]
Add getitem api to BPF object to reference tables
To simplify some common usage patterns, add a getitem api to the BPF
class. This wraps the get_table() api and allows the api user to skip
keeping their own get_table handle.
Fixes: #137
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Wed, 19 Aug 2015 22:48:30 +0000 (15:48 -0700)]
Merge pull request #151 from iovisor/bblanco_dev
Change API of attach_kprobe to take a name argument
Brenden Blanco [Wed, 19 Aug 2015 22:39:19 +0000 (15:39 -0700)]
Change API of attach_kprobe to take a name argument
Per feedback on the attach_kprobe api, change up the arguments to remove
the load_func that typically preceeds the call. Instead, move this
inside the attach_kprobe implementation. Also, this makes attach_kprobe
need to be non-static. The same applies to attach_kretprobe.
Old:
fn = b.load_func("hello", BPF.KPROBE)
BPF.attach_kprobe(fn, "sys_clone")
New:
b.attach_kprobe(event="sys_clone", fn_name="hello")
Note that the kwarg style is not required, but I fixed up the current
usages to provide readability.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 19 Aug 2015 00:55:32 +0000 (17:55 -0700)]
Merge pull request #150 from brendangregg/master
some bcc examples and tools
Brendan Gregg [Tue, 18 Aug 2015 23:53:41 +0000 (16:53 -0700)]
save some syscalls
Brendan Gregg [Tue, 18 Aug 2015 23:49:48 +0000 (16:49 -0700)]
python 2 & 3 compatibility
Brendan Gregg [Tue, 18 Aug 2015 23:11:35 +0000 (16:11 -0700)]
support odd Linux distros
Brendan Gregg [Tue, 18 Aug 2015 22:34:56 +0000 (15:34 -0700)]
cleaner get_table calls
Brendan Gregg [Tue, 18 Aug 2015 22:17:29 +0000 (15:17 -0700)]
include paths
Brendan Gregg [Tue, 18 Aug 2015 21:56:14 +0000 (14:56 -0700)]
some bcc examples and tools
4ast [Mon, 17 Aug 2015 17:32:28 +0000 (10:32 -0700)]
Merge pull request #134 from iovisor/bblanco_dev
Add format string argument to bpf-run
Brenden Blanco [Mon, 17 Aug 2015 17:24:20 +0000 (10:24 -0700)]
Add format string argument to bpf-run
Usage:
bpf-run -f "time={3} output={5}"
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
4ast [Mon, 17 Aug 2015 16:41:04 +0000 (09:41 -0700)]
Merge pull request #133 from iovisor/bblanco_dev
Add bpf-run command line tool
Brenden Blanco [Mon, 17 Aug 2015 16:37:30 +0000 (09:37 -0700)]
Add bpf-run command line tool
Example usage:
sudo bpf-run -p sys_clone -c 'bpf_trace_printk("Hello, World!\n");' -t
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Mon, 17 Aug 2015 03:06:35 +0000 (20:06 -0700)]
Merge pull request #132 from iovisor/yhs_dev
add dhcp support for tunnel-mesh
Yonghong Song [Thu, 13 Aug 2015 10:04:40 +0000 (03:04 -0700)]
add dhcp support for tunnel-mesh
Signed-off-by: Yonghong Song <yhs@plumgrid.com>
Brenden Blanco [Thu, 13 Aug 2015 00:33:18 +0000 (17:33 -0700)]
Merge pull request #130 from iovisor/yhs_dev
add vlan_learning and distributed_bridge in libbcc package
Brenden Blanco [Thu, 13 Aug 2015 00:32:19 +0000 (17:32 -0700)]
Merge pull request #131 from iovisor/weichunc_dev
distributed_bridge: check ip address before validating traffic
Wei-Chun Chao [Thu, 13 Aug 2015 00:13:24 +0000 (17:13 -0700)]
distributed_bridge: check ip address before validating traffic
Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
Yonghong Song [Thu, 13 Aug 2015 00:08:39 +0000 (17:08 -0700)]
add vlan_learning and distributed_bridge in libbcc package
Signed-off-by: Yonghong Song <yhs@plumgrid.com>
Brenden Blanco [Wed, 12 Aug 2015 23:25:31 +0000 (16:25 -0700)]
Merge pull request #129 from iovisor/weichunc_dev
distributed_bridge: wait for ns comes up before validating traffic
Wei-Chun Chao [Wed, 12 Aug 2015 23:04:06 +0000 (16:04 -0700)]
distributed_bridge: wait for ns comes up before validating traffic
Sometimes it takes longer for ns to complete configuration.
Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
Brenden Blanco [Wed, 12 Aug 2015 20:14:24 +0000 (13:14 -0700)]
Merge pull request #128 from iovisor/weichunc_dev
test_brb2: only account for IP and ARP packets
4ast [Wed, 12 Aug 2015 20:09:35 +0000 (13:09 -0700)]
Merge pull request #127 from iovisor/bblanco_dev
Changes to support map entry read/write in fuse
Wei-Chun Chao [Wed, 12 Aug 2015 20:08:08 +0000 (13:08 -0700)]
test_brb2: only account for IP and ARP packets
Sometimes background noise fails the test
Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
Brenden Blanco [Wed, 12 Aug 2015 19:08:00 +0000 (12:08 -0700)]
Add testing for scanf/printf in python, deprecate table_update
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 12 Aug 2015 15:55:09 +0000 (08:55 -0700)]
Add sscanf C api for parsing key/leaf ascii to binary
Expose an individual API of the what is done in table_update, that lets
the caller use the module to parse keys for it.
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Brenden Blanco [Wed, 12 Aug 2015 15:25:50 +0000 (08:25 -0700)]
Merge pull request #126 from iovisor/yhs_dev
clean up potential conflict veth before creating new one in create_ns
Yonghong Song [Wed, 12 Aug 2015 15:21:57 +0000 (08:21 -0700)]
close ipr to avoid fd leak
Signed-off-by: Yonghong Song <yhs@plumgrid.com>