platform/upstream/bcc.git
9 years agoFix 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>
9 years agoMerge pull request #157 from iovisor/bblanco_dev
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

9 years agoAdd 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>
9 years agoMerge pull request #156 from iovisor/bblanco_dev
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

9 years agoAdd 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>
9 years agoMerge pull request #153 from brendangregg/master
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

9 years agotidier example
Brendan Gregg [Thu, 20 Aug 2015 19:52:30 +0000 (12:52 -0700)]
tidier example

9 years agomore examples of b[] syntax, fix func arg passing
Brendan Gregg [Thu, 20 Aug 2015 19:40:37 +0000 (12:40 -0700)]
more examples of b[] syntax, fix func arg passing

9 years agoMerge pull request #152 from iovisor/bblanco_dev
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

9 years agoAdd 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>
9 years agoMerge pull request #151 from iovisor/bblanco_dev
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

9 years agoChange 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>
9 years agoMerge pull request #150 from brendangregg/master
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

9 years agosave some syscalls
Brendan Gregg [Tue, 18 Aug 2015 23:53:41 +0000 (16:53 -0700)]
save some syscalls

9 years agopython 2 & 3 compatibility
Brendan Gregg [Tue, 18 Aug 2015 23:49:48 +0000 (16:49 -0700)]
python 2 & 3 compatibility

9 years agosupport odd Linux distros
Brendan Gregg [Tue, 18 Aug 2015 23:11:35 +0000 (16:11 -0700)]
support odd Linux distros

9 years agocleaner get_table calls
Brendan Gregg [Tue, 18 Aug 2015 22:34:56 +0000 (15:34 -0700)]
cleaner get_table calls

9 years agoinclude paths
Brendan Gregg [Tue, 18 Aug 2015 22:17:29 +0000 (15:17 -0700)]
include paths

9 years agosome bcc examples and tools
Brendan Gregg [Tue, 18 Aug 2015 21:56:14 +0000 (14:56 -0700)]
some bcc examples and tools

9 years agoMerge pull request #134 from iovisor/bblanco_dev v0.1.5
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

9 years agoAdd 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>
9 years agoMerge pull request #133 from iovisor/bblanco_dev
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

9 years agoAdd 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>
9 years agoMerge pull request #132 from iovisor/yhs_dev
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

9 years agoadd 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>
9 years agoMerge pull request #130 from iovisor/yhs_dev
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

9 years agoMerge pull request #131 from iovisor/weichunc_dev
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

9 years agodistributed_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>
9 years agoadd vlan_learning and distributed_bridge in libbcc package
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>
9 years agoMerge pull request #129 from iovisor/weichunc_dev
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

9 years agodistributed_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>
9 years agoMerge pull request #128 from iovisor/weichunc_dev
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

9 years agoMerge pull request #127 from iovisor/bblanco_dev
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

9 years agotest_brb2: only account for IP and ARP packets
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>
9 years agoAdd testing for scanf/printf in python, deprecate table_update
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>
9 years agoAdd sscanf C api for parsing key/leaf ascii to binary
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>
9 years agoMerge pull request #126 from iovisor/yhs_dev
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

9 years agoclose ipr to avoid fd leak
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>
9 years agouse pyroute2 IProute to remove the stale veth
Yonghong Song [Tue, 11 Aug 2015 02:04:58 +0000 (19:04 -0700)]
use pyroute2 IProute to remove the stale veth

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoMerge pull request #125 from iovisor/bblanco_dev v0.1.4
4ast [Wed, 12 Aug 2015 01:41:35 +0000 (18:41 -0700)]
Merge pull request #125 from iovisor/bblanco_dev

Add printf for key/leaf and fix trace_printk bug

9 years agoSupport nested rewrite of trace arguments in bpf_trace_printk
Brenden Blanco [Wed, 12 Aug 2015 01:33:49 +0000 (18:33 -0700)]
Support nested rewrite of trace arguments in bpf_trace_printk

There was an issue where the rewrite of bpf_trace_printk combined with
conversion of function argument to ctx->$reg was mangling the text. Fix
up this case and add a test.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoAdd printf key/leaf writer functionality
Brenden Blanco [Tue, 11 Aug 2015 16:30:13 +0000 (09:30 -0700)]
Add printf key/leaf writer functionality

This extends upon the sscanf reader functionality, with the intent of
providing key/leaf pretty printing

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #123 from iovisor/bblanco_dev
4ast [Tue, 11 Aug 2015 20:07:27 +0000 (13:07 -0700)]
Merge pull request #123 from iovisor/bblanco_dev

Fix recursive loop in parsing pointer to self struct

9 years agoFix recursive loop in parsing pointer to self struct
Brenden Blanco [Tue, 11 Aug 2015 19:45:00 +0000 (12:45 -0700)]
Fix recursive loop in parsing pointer to self struct

Issue occurs in the description visitor class, when the struct used in a
map key is a pointer to self, as in:

struct node;
struct node {
  struct node *next;
};

Avoid this in the desc by using "unsigned long long" for all pointers.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoclean up potential conflict veth before creating new one in create_ns
Yonghong Song [Tue, 11 Aug 2015 00:33:24 +0000 (17:33 -0700)]
clean up potential conflict veth before creating new one in create_ns

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoMerge pull request #122 from iovisor/yhs_dev2
Brenden Blanco [Mon, 10 Aug 2015 19:06:06 +0000 (12:06 -0700)]
Merge pull request #122 from iovisor/yhs_dev2

Fixing more ctrl-c problem

9 years agoMerge pull request #121 from iovisor/weichunc_dev
Brenden Blanco [Mon, 10 Aug 2015 19:05:06 +0000 (12:05 -0700)]
Merge pull request #121 from iovisor/weichunc_dev

add connectivity validation in distributed bridge examples

9 years agoMerge pull request #120 from iovisor/yhs_dev
Brenden Blanco [Mon, 10 Aug 2015 19:04:27 +0000 (12:04 -0700)]
Merge pull request #120 from iovisor/yhs_dev

Add one line desc output for simple_tc

9 years agoadd connectivity validation in distributed bridge examples
Wei-Chun Chao [Mon, 10 Aug 2015 18:56:14 +0000 (11:56 -0700)]
add connectivity validation in distributed bridge examples

Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
9 years agoFixing more ctrl-c problem
Yonghong Song [Mon, 10 Aug 2015 18:35:28 +0000 (11:35 -0700)]
Fixing more ctrl-c problem

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoprint out simple_tc success at the end of test
Yonghong Song [Mon, 10 Aug 2015 18:19:53 +0000 (11:19 -0700)]
print out simple_tc success at the end of test

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoAdd one line desc output for simple_tc
Yonghong Song [Mon, 10 Aug 2015 16:40:11 +0000 (09:40 -0700)]
Add one line desc output for simple_tc

  o Also suggest task_switch.py to try with libbcc package

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoMerge pull request #119 from iovisor/bblanco_dev
4ast [Mon, 10 Aug 2015 05:51:52 +0000 (22:51 -0700)]
Merge pull request #119 from iovisor/bblanco_dev

Patch series: reorganize bpf_module and add sscanf feature for fuse

9 years agoCleanup some flags left on during development
Brenden Blanco [Sun, 9 Aug 2015 04:21:26 +0000 (21:21 -0700)]
Cleanup some flags left on during development

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoAdd update_table API: accepts sscanf style strings and populates a map
Brenden Blanco [Sun, 9 Aug 2015 04:00:59 +0000 (21:00 -0700)]
Add update_table API: accepts sscanf style strings and populates a map

This is the culmination of the previous patches. It adds an api that can
input map data in a string format, but validating the numbers and
locations of data fields. The use case is for fuse file input/output. A
printf api may follow.

Take the table with key/leaf of:
  struct Key { int a; int b; };
  struct Leaf { int a; int b; int c; struct SubLeaf { int x; int y; } s; };

One would input to this table using:
  update_table(table_name, "{1 2}", "{1 2 -3 {9 0xa}}");

The implementation uses a JITed function for each unique type, that is
invoked to run sscanf on behalf of the caller. The input must have the
exact right number of arguments. Bit fields are supported, but the
caller must be aware of the collapse of those bitfields into an aligned
field, as well as endianness.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoConvert bpf_module structures to use vector instead of map for tables
Brenden Blanco [Sat, 8 Aug 2015 05:04:56 +0000 (22:04 -0700)]
Convert bpf_module structures to use vector instead of map for tables

It was bothering me that a whole bunch of accesses to the tables were
based on a string hash lookup, in addition to the vectors that were kept
to convert ids to names. Switch those around, as well as the api
internally.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoRemove some deprecated checks in bpf_module
Brenden Blanco [Sat, 8 Aug 2015 04:25:46 +0000 (21:25 -0700)]
Remove some deprecated checks in bpf_module

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoAdd LLVM IR based sscanf routine, to be run by the JIT
Brenden Blanco [Sat, 8 Aug 2015 04:04:35 +0000 (21:04 -0700)]
Add LLVM IR based sscanf routine, to be run by the JIT

After the modules have been created, create a helper function for each
table leaf/key type.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoRename BPFTable to TableDesc
Brenden Blanco [Fri, 7 Aug 2015 16:59:48 +0000 (09:59 -0700)]
Rename BPFTable to TableDesc

This whole project is about bpf, prefixing everything with the same
acronym is redundant.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoExtract table types from B programs as well
Brenden Blanco [Fri, 7 Aug 2015 16:56:46 +0000 (09:56 -0700)]
Extract table types from B programs as well

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoAdd framework to support map string reader (fuse feature)
Brenden Blanco [Fri, 7 Aug 2015 15:28:02 +0000 (08:28 -0700)]
Add framework to support map string reader (fuse feature)

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #118 from iovisor/bblanco_dev v0.1.3
4ast [Wed, 5 Aug 2015 22:23:42 +0000 (15:23 -0700)]
Merge pull request #118 from iovisor/bblanco_dev

Add cmake checks for required test programs

9 years agoChange wording to "Recommended"
Brenden Blanco [Wed, 5 Aug 2015 22:17:50 +0000 (15:17 -0700)]
Change wording to "Recommended"

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoAdd cmake checks for required test programs
Brenden Blanco [Wed, 5 Aug 2015 22:09:17 +0000 (15:09 -0700)]
Add cmake checks for required test programs

Set as warning, since the build will still work fine and be able to
create a binary package.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #117 from iovisor/bblanco_dev
4ast [Wed, 5 Aug 2015 22:06:44 +0000 (15:06 -0700)]
Merge pull request #117 from iovisor/bblanco_dev

Move helper.h prototype for tail call into 4.2 section

9 years agoMove helper.h prototype for tail call into 4.2 section
Brenden Blanco [Wed, 5 Aug 2015 21:00:48 +0000 (14:00 -0700)]
Move helper.h prototype for tail call into 4.2 section

With #115, bpf_tail_call was incorrectly disabled in 4.2 builds.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #116 from iovisor/bblanco_dev
4ast [Wed, 5 Aug 2015 19:13:36 +0000 (12:13 -0700)]
Merge pull request #116 from iovisor/bblanco_dev

Add INSTALL.md instructions for using Ubuntu binary build

9 years agoAdd INSTALL.md instructions for using Ubuntu binary build
Brenden Blanco [Wed, 5 Aug 2015 19:09:59 +0000 (12:09 -0700)]
Add INSTALL.md instructions for using Ubuntu binary build

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #115 from iovisor/bblanco_dev v0.1.2
Brenden Blanco [Wed, 5 Aug 2015 13:42:45 +0000 (06:42 -0700)]
Merge pull request #115 from iovisor/bblanco_dev

Flags for 4.3 were accidentally committed, revert

9 years agoFlags for 4.3 were accidentally committed, revert
Brenden Blanco [Tue, 4 Aug 2015 23:57:14 +0000 (16:57 -0700)]
Flags for 4.3 were accidentally committed, revert

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #114 from iovisor/weichunc_dev
Brenden Blanco [Tue, 4 Aug 2015 23:56:46 +0000 (16:56 -0700)]
Merge pull request #114 from iovisor/weichunc_dev

release IPDB in host ns early

9 years agorelease IPDB in host ns early
Wei-Chun Chao [Tue, 4 Aug 2015 23:29:11 +0000 (16:29 -0700)]
release IPDB in host ns early

We need it for setting vxlan flow based flags currently. Release
it once the interfaces are set up. This does not help Ctrl-C on
main.py though.

Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
9 years agoMerge pull request #113 from iovisor/bblanco_dev
weichunc [Tue, 4 Aug 2015 22:50:33 +0000 (15:50 -0700)]
Merge pull request #113 from iovisor/bblanco_dev

Suggest Release and add X86 target in readme

9 years agoSuggest Release and add X86 target in readme
Brenden Blanco [Tue, 4 Aug 2015 22:44:20 +0000 (15:44 -0700)]
Suggest Release and add X86 target in readme

The default CMAKE_BUILD_TYPE is Debug when cloning from git, suggest
Release instead.

Also, there are some worrisome warnings during cmake when X86 target is
omitted. Additionally, I may want X86 target support for a future
feature, so lets suggest it here.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #112 from iovisor/weichunc_dev
Brenden Blanco [Tue, 4 Aug 2015 22:30:21 +0000 (15:30 -0700)]
Merge pull request #112 from iovisor/weichunc_dev

llvm 3.7+ deb is broken

9 years agollvm 3.7+ deb is broken
Wei-Chun Chao [Tue, 4 Aug 2015 22:26:18 +0000 (15:26 -0700)]
llvm 3.7+ deb is broken

https://llvm.org/bugs/show_bug.cgi?id=24154

Build from source until it's resolved. Another plan is to provide
binary package.

Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
9 years agoMerge pull request #110 from iovisor/yhs_dev
Brenden Blanco [Tue, 4 Aug 2015 22:24:26 +0000 (15:24 -0700)]
Merge pull request #110 from iovisor/yhs_dev

better clean up of created namespace/interfaces if ctrl-c is pressed

9 years agoMerge pull request #111 from iovisor/weichunc_dev
Brenden Blanco [Tue, 4 Aug 2015 22:17:17 +0000 (15:17 -0700)]
Merge pull request #111 from iovisor/weichunc_dev

fix tunnel_mesh.py

9 years agofix tunnel_mesh.py
Wei-Chun Chao [Tue, 4 Aug 2015 22:14:28 +0000 (15:14 -0700)]
fix tunnel_mesh.py

The IP assignment was wrong.

Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
9 years agobetter clean up of created namespace/interfaces if ctrl-c is pressed
Yonghong Song [Tue, 4 Aug 2015 18:10:31 +0000 (11:10 -0700)]
better clean up of created namespace/interfaces if ctrl-c is pressed

  o There are still some cases when ctrl-c is pressed, the program does not exit
    gracefully, with a however lower probability. In my random manual experiments,
    one in ten cases it still hangs and needs further ctrl-z.

Signed-off-by: Yonghong Song <yhs@plumgrid.com>
9 years agoMerge pull request #107 from iovisor/bblanco_dev
4ast [Tue, 4 Aug 2015 00:36:07 +0000 (17:36 -0700)]
Merge pull request #107 from iovisor/bblanco_dev

Reorganize bpf_module into multiple frontend implementations

9 years agoMerge pull request #106 from tuxology/master
Brenden Blanco [Mon, 3 Aug 2015 23:31:45 +0000 (16:31 -0700)]
Merge pull request #106 from tuxology/master

Add project logo and source files

9 years agoMove rest of frontend implementation into subdirs
Brenden Blanco [Mon, 3 Aug 2015 23:26:22 +0000 (16:26 -0700)]
Move rest of frontend implementation into subdirs

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoAdd project logo and source files
Suchakra Sharma [Mon, 3 Aug 2015 23:22:22 +0000 (19:22 -0400)]
Add project logo and source files

The logo contains elements which are in public domain. The gear
has been modified from illustration submitted by 'hank0071' on
OpenClipart and the font used is Open Sans. There seems to be no
restriction on commercial use.

Signed-off-by: Suchakra Sharma <suchakrapani.sharma@polymtl.ca>
9 years agoMove (some) frontend specific logic to the respective directories
Brenden Blanco [Mon, 3 Aug 2015 22:40:07 +0000 (15:40 -0700)]
Move (some) frontend specific logic to the respective directories

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMove frontends into individual directories
Brenden Blanco [Mon, 3 Aug 2015 17:59:20 +0000 (10:59 -0700)]
Move frontends into individual directories

Other commits to follow with cleanup of the code itself.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #105 from iovisor/bblanco_dev
4ast [Sun, 2 Aug 2015 23:20:43 +0000 (16:20 -0700)]
Merge pull request #105 from iovisor/bblanco_dev

Enable memory cleanup in Clang, otherwise 500KB lost per compile

9 years agoEnable memory cleanup in Clang, otherwise 500KB lost per compile
Brenden Blanco [Fri, 31 Jul 2015 22:41:31 +0000 (15:41 -0700)]
Enable memory cleanup in Clang, otherwise 500KB lost per compile

Since it is meant for the command line, clang ships with no memory
cleanup. We intend to run as a long-lived process, so enable that
cleanup. Valgrind now reports only trivial (and non-increasing over
time) memory leaks.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #102 from iovisor/bblanco_dev
yonghong-song [Fri, 31 Jul 2015 22:57:28 +0000 (15:57 -0700)]
Merge pull request #102 from iovisor/bblanco_dev

Add version check for functions only in >= 4.3 kernel

9 years agoMerge pull request #104 from iovisor/bcc_export
yonghong-song [Fri, 31 Jul 2015 21:59:05 +0000 (14:59 -0700)]
Merge pull request #104 from iovisor/bcc_export

Add pkg-config support and include compat/linux* in packaging

9 years agoAdd pkg-config support and include compat/linux* in packaging
Brenden Blanco [Fri, 31 Jul 2015 20:04:16 +0000 (13:04 -0700)]
Add pkg-config support and include compat/linux* in packaging

Different kernel header versions has been a continuing source of pain.
Though I don't prefer this approach, it seems the most reliable way to
get a build (for the time being) is to bundle the linux/bpf*.h in a
compat directory in the target install location.

To get visibility into that compat directory from another library, one
will need to rely on pkg-config --cflags argument to pull in that compat
directory.

Future work will be to avoid bundling the compat directory if the
version of linux-libc-dev is high enough, or if the presence of the
result of 'make headers_install' from the running kernel can be
detected.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoAdd version check for functions only in >= 4.3 kernel
Brenden Blanco [Fri, 31 Jul 2015 16:53:00 +0000 (09:53 -0700)]
Add version check for functions only in >= 4.3 kernel

Addresses issue #100

Note to developers working off of net-next: you will need to locally
disable this patch to make use of the new features.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
9 years agoMerge pull request #99 from iovisor/weichunc_dev
4ast [Fri, 31 Jul 2015 02:14:37 +0000 (19:14 -0700)]
Merge pull request #99 from iovisor/weichunc_dev

Assign ip address to br

9 years agoAssign ip address to br
Wei-Chun Chao [Fri, 31 Jul 2015 02:03:49 +0000 (19:03 -0700)]
Assign ip address to br

Signed-off-by: Wei-Chun Chao <weichunc@plumgrid.com>
9 years agoMerge pull request #98 from iovisor/ast_dev
Brenden Blanco [Thu, 30 Jul 2015 22:48:19 +0000 (15:48 -0700)]
Merge pull request #98 from iovisor/ast_dev

fix incorrect DataLayout

9 years agofix incorrect DataLayout
Alexei Starovoitov [Thu, 30 Jul 2015 22:43:57 +0000 (15:43 -0700)]
fix incorrect DataLayout

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
9 years agoMerge pull request #97 from iovisor/ast_dev
Brenden Blanco [Thu, 30 Jul 2015 21:30:24 +0000 (14:30 -0700)]
Merge pull request #97 from iovisor/ast_dev

update tunnel_key prototypes

9 years agoupdate tunnel_key prototypes
Alexei Starovoitov [Thu, 30 Jul 2015 21:14:09 +0000 (14:14 -0700)]
update tunnel_key prototypes

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
9 years agoMerge pull request #96 from iovisor/bblanco_dev
4ast [Thu, 30 Jul 2015 16:37:08 +0000 (09:37 -0700)]
Merge pull request #96 from iovisor/bblanco_dev

Add option for custom log string to bpf_prog_load

9 years agoAdd option for custom log string to bpf_prog_load
Brenden Blanco [Wed, 29 Jul 2015 22:47:51 +0000 (15:47 -0700)]
Add option for custom log string to bpf_prog_load

bpf_prog_load was unconditionally printing the error from the kernel to
stderr. If libbpf is used in a library, that library may want to collect
the error to a custom location (a logfile). So, provide an option to
store the string elsewhere than stderr.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>