Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bcc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
bcc
Commits
246b942b
Commit
246b942b
authored
9 years ago
by
Brenden Blanco
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update license in source code to be Apache 2
Signed-off-by:
Brenden Blanco
<
bblanco@plumgrid.com
>
parent
826136e3
Changes
55
Show whitespace changes
Inline
Side-by-side
Showing
55 changed files
with
398 additions
and
493 deletions
+398
-493
CMakeLists.txt
CMakeLists.txt
+2
-0
scripts/bpf_demo.ks.erb
scripts/bpf_demo.ks.erb
+2
-2
src/CMakeLists.txt
src/CMakeLists.txt
+2
-0
src/bpf.py
src/bpf.py
+14
-0
src/cc/CMakeLists.txt
src/cc/CMakeLists.txt
+2
-0
src/cc/b_frontend_action.cc
src/cc/b_frontend_action.cc
+15
-0
src/cc/b_frontend_action.h
src/cc/b_frontend_action.h
+15
-0
src/cc/bpf_common.cc
src/cc/bpf_common.cc
+15
-0
src/cc/bpf_common.h
src/cc/bpf_common.h
+15
-0
src/cc/bpf_helpers.h
src/cc/bpf_helpers.h
+15
-0
src/cc/bpf_module.cc
src/cc/bpf_module.cc
+15
-0
src/cc/bpf_module.h
src/cc/bpf_module.h
+10
-12
src/cc/codegen_llvm.cc
src/cc/codegen_llvm.cc
+10
-12
src/cc/codegen_llvm.h
src/cc/codegen_llvm.h
+10
-12
src/cc/exception.h
src/cc/exception.h
+10
-12
src/cc/kbuild_helper.cc
src/cc/kbuild_helper.cc
+15
-0
src/cc/kbuild_helper.h
src/cc/kbuild_helper.h
+15
-0
src/cc/lexer.h
src/cc/lexer.h
+10
-12
src/cc/lexer.ll
src/cc/lexer.ll
+10
-12
src/cc/libbpf.c
src/cc/libbpf.c
+16
-1
src/cc/node.cc
src/cc/node.cc
+10
-12
src/cc/node.h
src/cc/node.h
+10
-12
src/cc/parser.cc
src/cc/parser.cc
+10
-12
src/cc/parser.h
src/cc/parser.h
+10
-12
src/cc/parser.yy
src/cc/parser.yy
+10
-12
src/cc/printer.cc
src/cc/printer.cc
+10
-12
src/cc/printer.h
src/cc/printer.h
+10
-12
src/cc/proto.h
src/cc/proto.h
+15
-0
src/cc/scope.h
src/cc/scope.h
+10
-12
src/cc/type_check.cc
src/cc/type_check.cc
+10
-12
src/cc/type_check.h
src/cc/type_check.h
+10
-12
src/cc/type_helper.h
src/cc/type_helper.h
+10
-12
src/compat/include/linux/bpf.h
src/compat/include/linux/bpf.h
+0
-231
src/compat/include/linux/bpf_common.h
src/compat/include/linux/bpf_common.h
+0
-55
src/libbpf.h
src/libbpf.h
+15
-0
tests/CMakeLists.txt
tests/CMakeLists.txt
+2
-0
tests/cc/CMakeLists.txt
tests/cc/CMakeLists.txt
+2
-0
tests/cc/kprobe.b
tests/cc/kprobe.b
+2
-0
tests/cc/proto.b
tests/cc/proto.b
+2
-0
tests/cc/test_call1.c
tests/cc/test_call1.c
+2
-0
tests/cc/test_call1.py
tests/cc/test_call1.py
+2
-0
tests/cc/test_stat1.b
tests/cc/test_stat1.b
+2
-0
tests/cc/test_stat1.c
tests/cc/test_stat1.c
+2
-0
tests/cc/test_stat1.py
tests/cc/test_stat1.py
+2
-0
tests/cc/test_trace1.b
tests/cc/test_trace1.b
+2
-0
tests/cc/test_trace1.py
tests/cc/test_trace1.py
+2
-0
tests/cc/test_trace2.b
tests/cc/test_trace2.b
+2
-0
tests/cc/test_trace2.c
tests/cc/test_trace2.c
+2
-0
tests/cc/test_trace2.py
tests/cc/test_trace2.py
+2
-0
tests/cc/test_trace3.c
tests/cc/test_trace3.c
+2
-0
tests/cc/test_trace3.py
tests/cc/test_trace3.py
+2
-0
tests/cc/test_xlate1.b
tests/cc/test_xlate1.b
+2
-0
tests/cc/test_xlate1.c
tests/cc/test_xlate1.c
+2
-0
tests/cc/test_xlate1.py
tests/cc/test_xlate1.py
+2
-0
tests/wrapper.sh.in
tests/wrapper.sh.in
+2
-0
No files found.
CMakeLists.txt
View file @
246b942b
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
cmake_minimum_required
(
VERSION 2.8.7
)
project
(
bpf-tools
)
...
...
This diff is collapsed.
Click to expand it.
scripts/bpf_demo.ks.erb
View file @
246b942b
...
...
@@ -108,10 +108,10 @@ cat > /usr/local/bin/bcc-setup <<'DELIM__'
set
-e
-x
numcpu=
$(grep
-c
^
processor
/
proc
/
cpuinfo
)
repo=
ssh://git@github.com/
plumgrid
/bcc.git
repo=
ssh://git@github.com/
iovisor
/bcc.git
git
ls-remote
$
repo
2
>
&
1 > /dev/null
if [[ $? -ne 0 ]]; then
repo=https://
<%=
@github_access_token
%>
@github.com/
plumgrid
/bcc.git
repo=https://
<%=
@github_access_token
%>
@github.com/
iovisor
/bcc.git
fi
git clone $repo
mkdir bcc/build/
...
...
This diff is collapsed.
Click to expand it.
src/CMakeLists.txt
View file @
246b942b
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
set
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
"
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-fno-rtti"
)
...
...
This diff is collapsed.
Click to expand it.
src/bpf.py
View file @
246b942b
# Copyright 2015 PLUMgrid
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
ctypes
as
ct
import
os
...
...
This diff is collapsed.
Click to expand it.
src/cc/CMakeLists.txt
View file @
246b942b
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
include_directories
(
${
CMAKE_CURRENT_BINARY_DIR
}
)
include_directories
(
${
LLVM_INCLUDE_DIRS
}
)
...
...
This diff is collapsed.
Click to expand it.
src/cc/b_frontend_action.cc
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <linux/bpf.h>
#include <clang/AST/ASTConsumer.h>
...
...
This diff is collapsed.
Click to expand it.
src/cc/b_frontend_action.h
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <map>
#include <memory>
...
...
This diff is collapsed.
Click to expand it.
src/cc/bpf_common.cc
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "cc/bpf_module.h"
#include "cc/bpf_common.h"
...
...
This diff is collapsed.
Click to expand it.
src/cc/bpf_common.h
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <stdint.h>
...
...
This diff is collapsed.
Click to expand it.
src/cc/bpf_helpers.h
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __BPF_HELPERS_H
#define __BPF_HELPERS_H
...
...
This diff is collapsed.
Click to expand it.
src/cc/bpf_module.cc
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <algorithm>
#include <fcntl.h>
#include <ftw.h>
...
...
This diff is collapsed.
Click to expand it.
src/cc/bpf_module.h
View file @
246b942b
/*
* ====================================================================
* Copyright (c) 2015, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* ====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/codegen_llvm.cc
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <set>
...
...
This diff is collapsed.
Click to expand it.
src/cc/codegen_llvm.h
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/exception.h
View file @
246b942b
/*
* ====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* ====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/kbuild_helper.cc
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <fcntl.h>
#include <ftw.h>
#include "kbuild_helper.h"
...
...
This diff is collapsed.
Click to expand it.
src/cc/kbuild_helper.h
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <cstring>
#include <memory>
#include <string>
...
...
This diff is collapsed.
Click to expand it.
src/cc/lexer.h
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/lexer.ll
View file @
246b942b
/
*
*
=====================================================================
*
Copyright
(
c
)
2012
,
PLUMgrid
,
http:
//plumgrid
.
com
*
Copyright
(
c
)
2015
PLUMgrid
,
Inc
.
*
*
This
source
is
subject
to
the
PLUMgrid
License
.
*
All
rights
reserved
.
*
Licensed
under
the
Apache
License
,
Version
2.0
(
the
"License"
)
;
*
you
may
not
use
this
file
except
in
compliance
with
the
License
.
*
You
may
obtain
a
copy
of
the
License
at
*
*
THIS
CODE
AND
INFORMATION
ARE
PROVIDED
"AS IS"
WITHOUT
WARRANTY
OF
*
ANY
KIND
,
EITHER
EXPRESSED
OR
IMPLIED
,
INCLUDING
BUT
NOT
LIMITED
TO
*
THE
IMPLIED
WARRANTIES
OF
MERCHANTABILITY
AND/OR
FITNESS
FOR
A
*
PARTICULAR
PURPOSE
.
*
http:
//www
.
apache
.
org/licenses/LICENSE
-2.0
*
*
PLUMgrid
confidential
information
,
delete
if
you
are
not
the
*
intended
recipient
.
*
*
=====================================================================
*
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
software
*
distributed
under
the
License
is
distributed
on
an
"AS IS"
BASIS
,
*
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied
.
*
See
the
License
for
the
specific
language
governing
permissions
and
*
limitations
under
the
License
.
*
/
%
{
...
...
This diff is collapsed.
Click to expand it.
src/cc/libbpf.c
View file @
246b942b
/* eBPF mini library */
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
...
...
This diff is collapsed.
Click to expand it.
src/cc/node.cc
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdio.h>
...
...
This diff is collapsed.
Click to expand it.
src/cc/node.h
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/parser.cc
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <algorithm>
...
...
This diff is collapsed.
Click to expand it.
src/cc/parser.h
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/parser.yy
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
%skeleton "lalr1.cc"
...
...
This diff is collapsed.
Click to expand it.
src/cc/printer.cc
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "cc/printer.h"
...
...
This diff is collapsed.
Click to expand it.
src/cc/printer.h
View file @
246b942b
/*
* ====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* ====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/proto.h
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <linux/types.h>
struct
ethernet_t
{
...
...
This diff is collapsed.
Click to expand it.
src/cc/scope.h
View file @
246b942b
/*
* ====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* ====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/type_check.cc
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <set>
...
...
This diff is collapsed.
Click to expand it.
src/cc/type_check.h
View file @
246b942b
/*
* =====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* =====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/cc/type_helper.h
View file @
246b942b
/*
* ====================================================================
* Copyright (c) 2012, PLUMgrid, http://plumgrid.com
* Copyright (c) 2015 PLUMgrid, Inc.
*
* This source is subject to the PLUMgrid License.
* All rights reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* http://www.apache.org/licenses/LICENSE-2.0
*
* PLUMgrid confidential information, delete if you are not the
* intended recipient.
*
* ====================================================================
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
...
...
This diff is collapsed.
Click to expand it.
src/compat/include/linux/bpf.h
deleted
100644 → 0
View file @
826136e3
/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
* License as published by the Free Software Foundation.
*/
#ifndef _UAPI__LINUX_BPF_H__
#define _UAPI__LINUX_BPF_H__
#include <linux/types.h>
#include <linux/bpf_common.h>
/* Extended instruction set based on top of classic BPF */
/* instruction classes */
#define BPF_ALU64 0x07
/* alu mode in double word width */
/* ld/ldx fields */
#define BPF_DW 0x18
/* double word */
#define BPF_XADD 0xc0
/* exclusive add */
/* alu/jmp fields */
#define BPF_MOV 0xb0
/* mov reg to reg */
#define BPF_ARSH 0xc0
/* sign extending arithmetic shift right */
/* change endianness of a register */
#define BPF_END 0xd0
/* flags for endianness conversion: */
#define BPF_TO_LE 0x00
/* convert to little-endian */
#define BPF_TO_BE 0x08
/* convert to big-endian */
#define BPF_FROM_LE BPF_TO_LE
#define BPF_FROM_BE BPF_TO_BE
#define BPF_JNE 0x50
/* jump != */
#define BPF_JSGT 0x60
/* SGT is signed '>', GT in x86 */
#define BPF_JSGE 0x70
/* SGE is signed '>=', GE in x86 */
#define BPF_CALL 0x80
/* function call */
#define BPF_EXIT 0x90
/* function return */
/* Register numbers */
enum
{
BPF_REG_0
=
0
,
BPF_REG_1
,
BPF_REG_2
,
BPF_REG_3
,
BPF_REG_4
,
BPF_REG_5
,
BPF_REG_6
,
BPF_REG_7
,
BPF_REG_8
,
BPF_REG_9
,
BPF_REG_10
,
__MAX_BPF_REG
,
};
/* BPF has 10 general purpose 64-bit registers and stack frame. */
#define MAX_BPF_REG __MAX_BPF_REG
struct
bpf_insn
{
__u8
code
;
/* opcode */
__u8
dst_reg
:
4
;
/* dest register */
__u8
src_reg
:
4
;
/* source register */
__s16
off
;
/* signed offset */
__s32
imm
;
/* signed immediate constant */
};
/* BPF syscall commands */
enum
bpf_cmd
{
/* create a map with given type and attributes
* fd = bpf(BPF_MAP_CREATE, union bpf_attr *, u32 size)
* returns fd or negative error
* map is deleted when fd is closed
*/
BPF_MAP_CREATE
,
/* lookup key in a given map
* err = bpf(BPF_MAP_LOOKUP_ELEM, union bpf_attr *attr, u32 size)
* Using attr->map_fd, attr->key, attr->value
* returns zero and stores found elem into value
* or negative error
*/
BPF_MAP_LOOKUP_ELEM
,
/* create or update key/value pair in a given map
* err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size)
* Using attr->map_fd, attr->key, attr->value, attr->flags
* returns zero or negative error
*/
BPF_MAP_UPDATE_ELEM
,
/* find and delete elem by key in a given map
* err = bpf(BPF_MAP_DELETE_ELEM, union bpf_attr *attr, u32 size)
* Using attr->map_fd, attr->key
* returns zero or negative error
*/
BPF_MAP_DELETE_ELEM
,
/* lookup key in a given map and return next key
* err = bpf(BPF_MAP_GET_NEXT_KEY, union bpf_attr *attr, u32 size)
* Using attr->map_fd, attr->key, attr->next_key
* returns zero and stores next key or negative error
*/
BPF_MAP_GET_NEXT_KEY
,
/* verify and load eBPF program
* prog_fd = bpf(BPF_PROG_LOAD, union bpf_attr *attr, u32 size)
* Using attr->prog_type, attr->insns, attr->license
* returns fd or negative error
*/
BPF_PROG_LOAD
,
};
enum
bpf_map_type
{
BPF_MAP_TYPE_UNSPEC
,
BPF_MAP_TYPE_HASH
,
BPF_MAP_TYPE_ARRAY
,
};
enum
bpf_prog_type
{
BPF_PROG_TYPE_UNSPEC
,
BPF_PROG_TYPE_SOCKET_FILTER
,
BPF_PROG_TYPE_KPROBE
,
BPF_PROG_TYPE_SCHED_CLS
,
BPF_PROG_TYPE_SCHED_ACT
,
};
#define BPF_PSEUDO_MAP_FD 1
/* flags for BPF_MAP_UPDATE_ELEM command */
#define BPF_ANY 0
/* create new element or update existing */
#define BPF_NOEXIST 1
/* create new element if it didn't exist */
#define BPF_EXIST 2
/* update existing element */
union
bpf_attr
{
struct
{
/* anonymous struct used by BPF_MAP_CREATE command */
__u32
map_type
;
/* one of enum bpf_map_type */
__u32
key_size
;
/* size of key in bytes */
__u32
value_size
;
/* size of value in bytes */
__u32
max_entries
;
/* max number of entries in a map */
};
struct
{
/* anonymous struct used by BPF_MAP_*_ELEM commands */
__u32
map_fd
;
__aligned_u64
key
;
union
{
__aligned_u64
value
;
__aligned_u64
next_key
;
};
__u64
flags
;
};
struct
{
/* anonymous struct used by BPF_PROG_LOAD command */
__u32
prog_type
;
/* one of enum bpf_prog_type */
__u32
insn_cnt
;
__aligned_u64
insns
;
__aligned_u64
license
;
__u32
log_level
;
/* verbosity level of verifier */
__u32
log_size
;
/* size of user buffer */
__aligned_u64
log_buf
;
/* user supplied buffer */
__u32
kern_version
;
/* checked when prog_type=kprobe */
};
}
__attribute__
((
aligned
(
8
)));
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
* function eBPF program intends to call
*/
enum
bpf_func_id
{
BPF_FUNC_unspec
,
BPF_FUNC_map_lookup_elem
,
/* void *map_lookup_elem(&map, &key) */
BPF_FUNC_map_update_elem
,
/* int map_update_elem(&map, &key, &value, flags) */
BPF_FUNC_map_delete_elem
,
/* int map_delete_elem(&map, &key) */
BPF_FUNC_probe_read
,
/* int bpf_probe_read(void *dst, int size, void *src) */
BPF_FUNC_ktime_get_ns
,
/* u64 bpf_ktime_get_ns(void) */
BPF_FUNC_trace_printk
,
/* int bpf_trace_printk(const char *fmt, int fmt_size, ...) */
BPF_FUNC_get_prandom_u32
,
/* u32 prandom_u32(void) */
BPF_FUNC_get_smp_processor_id
,
/* u32 raw_smp_processor_id(void) */
/**
* skb_store_bytes(skb, offset, from, len, flags) - store bytes into packet
* @skb: pointer to skb
* @offset: offset within packet from skb->mac_header
* @from: pointer where to copy bytes from
* @len: number of bytes to store into packet
* @flags: bit 0 - if true, recompute skb->csum
* other bits - reserved
* Return: 0 on success
*/
BPF_FUNC_skb_store_bytes
,
/**
* l3_csum_replace(skb, offset, from, to, flags) - recompute IP checksum
* @skb: pointer to skb
* @offset: offset within packet where IP checksum is located
* @from: old value of header field
* @to: new value of header field
* @flags: bits 0-3 - size of header field
* other bits - reserved
* Return: 0 on success
*/
BPF_FUNC_l3_csum_replace
,
/**
* l4_csum_replace(skb, offset, from, to, flags) - recompute TCP/UDP checksum
* @skb: pointer to skb
* @offset: offset within packet where TCP/UDP checksum is located
* @from: old value of header field
* @to: new value of header field
* @flags: bits 0-3 - size of header field
* bit 4 - is pseudo header
* other bits - reserved
* Return: 0 on success
*/
BPF_FUNC_l4_csum_replace
,
__BPF_FUNC_MAX_ID
,
};
/* user accessible mirror of in-kernel sk_buff.
* new fields can only be added to the end of this structure
*/
struct
__sk_buff
{
__u32
len
;
__u32
pkt_type
;
__u32
mark
;
__u32
queue_mapping
;
__u32
protocol
;
__u32
vlan_present
;
__u32
vlan_tci
;
__u32
vlan_proto
;
__u32
priority
;
};
#endif
/* _UAPI__LINUX_BPF_H__ */
This diff is collapsed.
Click to expand it.
src/compat/include/linux/bpf_common.h
deleted
100644 → 0
View file @
826136e3
#ifndef _UAPI__LINUX_BPF_COMMON_H__
#define _UAPI__LINUX_BPF_COMMON_H__
/* Instruction classes */
#define BPF_CLASS(code) ((code) & 0x07)
#define BPF_LD 0x00
#define BPF_LDX 0x01
#define BPF_ST 0x02
#define BPF_STX 0x03
#define BPF_ALU 0x04
#define BPF_JMP 0x05
#define BPF_RET 0x06
#define BPF_MISC 0x07
/* ld/ldx fields */
#define BPF_SIZE(code) ((code) & 0x18)
#define BPF_W 0x00
#define BPF_H 0x08
#define BPF_B 0x10
#define BPF_MODE(code) ((code) & 0xe0)
#define BPF_IMM 0x00
#define BPF_ABS 0x20
#define BPF_IND 0x40
#define BPF_MEM 0x60
#define BPF_LEN 0x80
#define BPF_MSH 0xa0
/* alu/jmp fields */
#define BPF_OP(code) ((code) & 0xf0)
#define BPF_ADD 0x00
#define BPF_SUB 0x10
#define BPF_MUL 0x20
#define BPF_DIV 0x30
#define BPF_OR 0x40
#define BPF_AND 0x50
#define BPF_LSH 0x60
#define BPF_RSH 0x70
#define BPF_NEG 0x80
#define BPF_MOD 0x90
#define BPF_XOR 0xa0
#define BPF_JA 0x00
#define BPF_JEQ 0x10
#define BPF_JGT 0x20
#define BPF_JGE 0x30
#define BPF_JSET 0x40
#define BPF_SRC(code) ((code) & 0x08)
#define BPF_K 0x00
#define BPF_X 0x08
#ifndef BPF_MAXINSNS
#define BPF_MAXINSNS 4096
#endif
#endif
/* _UAPI__LINUX_BPF_COMMON_H__ */
This diff is collapsed.
Click to expand it.
src/libbpf.h
View file @
246b942b
/*
* Copyright (c) 2015 PLUMgrid, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eBPF mini library */
#pragma once
...
...
This diff is collapsed.
Click to expand it.
tests/CMakeLists.txt
View file @
246b942b
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
configure_file
(
wrapper.sh.in
"
${
CMAKE_CURRENT_BINARY_DIR
}
/wrapper.sh"
@ONLY
)
set
(
TEST_WRAPPER
${
CMAKE_CURRENT_BINARY_DIR
}
/wrapper.sh
)
...
...
This diff is collapsed.
Click to expand it.
tests/cc/CMakeLists.txt
View file @
246b942b
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
add_test
(
NAME py_test_stat1_b WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
COMMAND
${
TEST_WRAPPER
}
py_stat1_b namespace
${
CMAKE_CURRENT_SOURCE_DIR
}
/test_stat1.py test_stat1.b proto.b
)
add_test
(
NAME py_test_stat1_c WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
...
...
This diff is collapsed.
Click to expand it.
tests/cc/kprobe.b
View file @
246b942b
// Copyright (c) PLUMgrid
,
Inc
.
// Licensed under the Apache License
,
Version 2
.
0 (the "License")
#packed "false"
...
...
This diff is collapsed.
Click to expand it.
tests/cc/proto.b
View file @
246b942b
// Copyright (c) PLUMgrid
,
Inc
.
// Licensed under the Apache License
,
Version 2
.
0 (the "License")
#packed "true"
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_call1.c
View file @
246b942b
// Copyright (c) PLUMgrid, Inc.
// Licensed under the Apache License, Version 2.0 (the "License")
#include "../../src/cc/bpf_helpers.h"
BPF_TABLE
(
"prog"
,
int
,
int
,
jump
,
64
);
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_call1.py
View file @
246b942b
#!/usr/bin/env python
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
from
ctypes
import
c_ushort
,
c_int
,
c_ulonglong
from
netaddr
import
IPAddress
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_stat1.b
View file @
246b942b
// Copyright (c) PLUMgrid
,
Inc
.
// Licensed under the Apache License
,
Version 2
.
0 (the "License")
struct IPKey {
u32 dip:32;
u32 sip:32;
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_stat1.c
View file @
246b942b
// Copyright (c) PLUMgrid, Inc.
// Licensed under the Apache License, Version 2.0 (the "License")
#include "../../src/cc/bpf_helpers.h"
#include "../../src/cc/proto.h"
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_stat1.py
View file @
246b942b
#!/usr/bin/env python
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
# test program to count the packets sent to a device in a .5
# second period
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_trace1.b
View file @
246b942b
// Copyright (c) PLUMgrid
,
Inc
.
// Licensed under the Apache License
,
Version 2
.
0 (the "License")
struct Ptr {
u64 ptr:64;
};
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_trace1.py
View file @
246b942b
#!/usr/bin/env python
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
from
ctypes
import
c_uint
,
c_ulong
,
Structure
from
bpf
import
BPF
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_trace2.b
View file @
246b942b
// Copyright (c) PLUMgrid
,
Inc
.
// Licensed under the Apache License
,
Version 2
.
0 (the "License")
#include "kprobe
.
b"
struct Ptr { u64 ptr:64; };
struct Counters { u64 stat1:64; };
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_trace2.c
View file @
246b942b
// Copyright (c) PLUMgrid, Inc.
// Licensed under the Apache License, Version 2.0 (the "License")
#include <linux/ptrace.h>
#include "../../src/cc/bpf_helpers.h"
struct
Ptr
{
u64
ptr
;
};
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_trace2.py
View file @
246b942b
#!/usr/bin/env python
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
from
ctypes
import
c_uint
,
c_ulong
,
Structure
from
bpf
import
BPF
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_trace3.c
View file @
246b942b
// Copyright (c) PLUMgrid, Inc.
// Licensed under the Apache License, Version 2.0 (the "License")
#include <linux/ptrace.h>
#include <linux/blkdev.h>
#include "../../src/cc/bpf_helpers.h"
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_trace3.py
View file @
246b942b
#!/usr/bin/env python
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
from
ctypes
import
c_uint
,
c_ulong
,
Structure
from
bpf
import
BPF
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_xlate1.b
View file @
246b942b
// Copyright (c) PLUMgrid
,
Inc
.
// Licensed under the Apache License
,
Version 2
.
0 (the "License")
// test for packet modification
#packed "false"
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_xlate1.c
View file @
246b942b
// Copyright (c) PLUMgrid, Inc.
// Licensed under the Apache License, Version 2.0 (the "License")
#include "../../src/cc/bpf_helpers.h"
#include "../../src/cc/proto.h"
struct
IPKey
{
...
...
This diff is collapsed.
Click to expand it.
tests/cc/test_xlate1.py
View file @
246b942b
#!/usr/bin/env python
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
from
ctypes
import
c_uint
,
c_ulonglong
,
Structure
from
netaddr
import
IPAddress
...
...
This diff is collapsed.
Click to expand it.
tests/wrapper.sh.in
View file @
246b942b
#!/bin/bash
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
#set -x
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment