Update license in source code to be Apache 2

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d5c89c4..49406c3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,5 @@
+# Copyright (c) PLUMgrid, Inc.
+# Licensed under the Apache License, Version 2.0 (the "License")
 cmake_minimum_required(VERSION 2.8.7)
 
 project(bpf-tools)
diff --git a/scripts/bpf_demo.ks.erb b/scripts/bpf_demo.ks.erb
index 69eafcc..5f3d2c5 100644
--- a/scripts/bpf_demo.ks.erb
+++ b/scripts/bpf_demo.ks.erb
@@ -108,10 +108,10 @@
 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/
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4761fed..b011bbc 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,3 +1,5 @@
+# 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")
diff --git a/src/bpf.py b/src/bpf.py
index e6f1013..1240643 100644
--- a/src/bpf.py
+++ b/src/bpf.py
@@ -1,3 +1,17 @@
+# 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
 
diff --git a/src/cc/CMakeLists.txt b/src/cc/CMakeLists.txt
index 2e5b79a..287336c 100644
--- a/src/cc/CMakeLists.txt
+++ b/src/cc/CMakeLists.txt
@@ -1,3 +1,5 @@
+# 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})
diff --git a/src/cc/b_frontend_action.cc b/src/cc/b_frontend_action.cc
index 512da65..b299958 100644
--- a/src/cc/b_frontend_action.cc
+++ b/src/cc/b_frontend_action.cc
@@ -1,3 +1,18 @@
+/*
+ * 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>
diff --git a/src/cc/b_frontend_action.h b/src/cc/b_frontend_action.h
index 08a221a..208c988 100644
--- a/src/cc/b_frontend_action.h
+++ b/src/cc/b_frontend_action.h
@@ -1,3 +1,18 @@
+/*
+ * 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>
diff --git a/src/cc/bpf_common.cc b/src/cc/bpf_common.cc
index 83ffc29..829b227 100644
--- a/src/cc/bpf_common.cc
+++ b/src/cc/bpf_common.cc
@@ -1,3 +1,18 @@
+/*
+ * 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"
 
diff --git a/src/cc/bpf_common.h b/src/cc/bpf_common.h
index 9892f8d..b0efeb9 100644
--- a/src/cc/bpf_common.h
+++ b/src/cc/bpf_common.h
@@ -1,3 +1,18 @@
+/*
+ * 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>
diff --git a/src/cc/bpf_helpers.h b/src/cc/bpf_helpers.h
index 36f31ee..c6bb1f5 100644
--- a/src/cc/bpf_helpers.h
+++ b/src/cc/bpf_helpers.h
@@ -1,3 +1,18 @@
+/*
+ * 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
 
diff --git a/src/cc/bpf_module.cc b/src/cc/bpf_module.cc
index 1ffe102..93029cd 100644
--- a/src/cc/bpf_module.cc
+++ b/src/cc/bpf_module.cc
@@ -1,3 +1,18 @@
+/*
+ * 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>
diff --git a/src/cc/bpf_module.h b/src/cc/bpf_module.h
index ed9be57..7f8de40 100644
--- a/src/cc/bpf_module.h
+++ b/src/cc/bpf_module.h
@@ -1,19 +1,17 @@
 /*
- * ====================================================================
- * 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
diff --git a/src/cc/codegen_llvm.cc b/src/cc/codegen_llvm.cc
index 2bf0ce4..25f6476 100644
--- a/src/cc/codegen_llvm.cc
+++ b/src/cc/codegen_llvm.cc
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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>
diff --git a/src/cc/codegen_llvm.h b/src/cc/codegen_llvm.h
index b7ec10e..83633df 100644
--- a/src/cc/codegen_llvm.h
+++ b/src/cc/codegen_llvm.h
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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
diff --git a/src/cc/exception.h b/src/cc/exception.h
index 216d9ad..143f53e 100644
--- a/src/cc/exception.h
+++ b/src/cc/exception.h
@@ -1,19 +1,17 @@
 /*
- * ====================================================================
- * 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
diff --git a/src/cc/kbuild_helper.cc b/src/cc/kbuild_helper.cc
index 2376836..1c476ed 100644
--- a/src/cc/kbuild_helper.cc
+++ b/src/cc/kbuild_helper.cc
@@ -1,3 +1,18 @@
+/*
+ * 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"
diff --git a/src/cc/kbuild_helper.h b/src/cc/kbuild_helper.h
index e84c582..416d25c 100644
--- a/src/cc/kbuild_helper.h
+++ b/src/cc/kbuild_helper.h
@@ -1,3 +1,18 @@
+/*
+ * 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>
diff --git a/src/cc/lexer.h b/src/cc/lexer.h
index eb8267c..f09a7ef 100644
--- a/src/cc/lexer.h
+++ b/src/cc/lexer.h
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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
diff --git a/src/cc/lexer.ll b/src/cc/lexer.ll
index c77204f..0ac4ec8 100644
--- a/src/cc/lexer.ll
+++ b/src/cc/lexer.ll
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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.
  */
 
 %{
diff --git a/src/cc/libbpf.c b/src/cc/libbpf.c
index 2fd3ef0..905b9e2 100644
--- a/src/cc/libbpf.c
+++ b/src/cc/libbpf.c
@@ -1,4 +1,19 @@
-/* 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>
diff --git a/src/cc/node.cc b/src/cc/node.cc
index c479421..27182b6 100644
--- a/src/cc/node.cc
+++ b/src/cc/node.cc
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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>
diff --git a/src/cc/node.h b/src/cc/node.h
index bb04800..fbda761 100644
--- a/src/cc/node.h
+++ b/src/cc/node.h
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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
diff --git a/src/cc/parser.cc b/src/cc/parser.cc
index ca9771e..e35df22 100644
--- a/src/cc/parser.cc
+++ b/src/cc/parser.cc
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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>
diff --git a/src/cc/parser.h b/src/cc/parser.h
index bcd00d5..8ffdee6 100644
--- a/src/cc/parser.h
+++ b/src/cc/parser.h
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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
diff --git a/src/cc/parser.yy b/src/cc/parser.yy
index f7bf691..d506056 100644
--- a/src/cc/parser.yy
+++ b/src/cc/parser.yy
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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"
diff --git a/src/cc/printer.cc b/src/cc/printer.cc
index 6db50fe..2df82ec 100644
--- a/src/cc/printer.cc
+++ b/src/cc/printer.cc
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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"
diff --git a/src/cc/printer.h b/src/cc/printer.h
index e457dd4..c5fc024 100644
--- a/src/cc/printer.h
+++ b/src/cc/printer.h
@@ -1,19 +1,17 @@
 /*
- * ====================================================================
- * 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
diff --git a/src/cc/proto.h b/src/cc/proto.h
index 11e1cf2..d23fe2b 100644
--- a/src/cc/proto.h
+++ b/src/cc/proto.h
@@ -1,3 +1,18 @@
+/*
+ * 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 {
diff --git a/src/cc/scope.h b/src/cc/scope.h
index 0a3005e..b0358b88 100644
--- a/src/cc/scope.h
+++ b/src/cc/scope.h
@@ -1,19 +1,17 @@
 /*
- * ====================================================================
- * 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
diff --git a/src/cc/type_check.cc b/src/cc/type_check.cc
index 8594fd4..0350205 100644
--- a/src/cc/type_check.cc
+++ b/src/cc/type_check.cc
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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>
diff --git a/src/cc/type_check.h b/src/cc/type_check.h
index 7818d2d..41b8244 100644
--- a/src/cc/type_check.h
+++ b/src/cc/type_check.h
@@ -1,19 +1,17 @@
 /*
- * =====================================================================
- * 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
diff --git a/src/cc/type_helper.h b/src/cc/type_helper.h
index ed66193..45e5e33 100644
--- a/src/cc/type_helper.h
+++ b/src/cc/type_helper.h
@@ -1,19 +1,17 @@
 /*
- * ====================================================================
- * 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
diff --git a/src/compat/include/linux/bpf.h b/src/compat/include/linux/bpf.h
deleted file mode 100644
index a9ebdf5..0000000
--- a/src/compat/include/linux/bpf.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* 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__ */
diff --git a/src/compat/include/linux/bpf_common.h b/src/compat/include/linux/bpf_common.h
deleted file mode 100644
index a5c220e..0000000
--- a/src/compat/include/linux/bpf_common.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#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__ */
diff --git a/src/libbpf.h b/src/libbpf.h
index 0c6d802..454da24 100644
--- a/src/libbpf.h
+++ b/src/libbpf.h
@@ -1,3 +1,18 @@
+/*
+ * 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
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index fa7ad4a..8a10a0a 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,3 +1,5 @@
+# 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)
diff --git a/tests/cc/CMakeLists.txt b/tests/cc/CMakeLists.txt
index ba24fef..9233dda 100644
--- a/tests/cc/CMakeLists.txt
+++ b/tests/cc/CMakeLists.txt
@@ -1,3 +1,5 @@
+# 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}
diff --git a/tests/cc/kprobe.b b/tests/cc/kprobe.b
index a29e1d2..74a996b 100644
--- a/tests/cc/kprobe.b
+++ b/tests/cc/kprobe.b
@@ -1,3 +1,5 @@
+// Copyright (c) PLUMgrid, Inc.
+// Licensed under the Apache License, Version 2.0 (the "License")
 
 #packed "false"
 
diff --git a/tests/cc/proto.b b/tests/cc/proto.b
index 8112455..78cfa5f 100644
--- a/tests/cc/proto.b
+++ b/tests/cc/proto.b
@@ -1,3 +1,5 @@
+// Copyright (c) PLUMgrid, Inc.
+// Licensed under the Apache License, Version 2.0 (the "License")
 
 #packed "true"
 
diff --git a/tests/cc/test_call1.c b/tests/cc/test_call1.c
index 0dad95a..38d221a 100644
--- a/tests/cc/test_call1.c
+++ b/tests/cc/test_call1.c
@@ -1,3 +1,5 @@
+// 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);
diff --git a/tests/cc/test_call1.py b/tests/cc/test_call1.py
index cfb3fe4..b08e61b 100755
--- a/tests/cc/test_call1.py
+++ b/tests/cc/test_call1.py
@@ -1,4 +1,6 @@
 #!/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
diff --git a/tests/cc/test_stat1.b b/tests/cc/test_stat1.b
index 7406f69..fb505d6 100644
--- a/tests/cc/test_stat1.b
+++ b/tests/cc/test_stat1.b
@@ -1,3 +1,5 @@
+// Copyright (c) PLUMgrid, Inc.
+// Licensed under the Apache License, Version 2.0 (the "License")
 struct IPKey {
   u32 dip:32;
   u32 sip:32;
diff --git a/tests/cc/test_stat1.c b/tests/cc/test_stat1.c
index 013e5dc..92c85d4 100644
--- a/tests/cc/test_stat1.c
+++ b/tests/cc/test_stat1.c
@@ -1,3 +1,5 @@
+// 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"
 
diff --git a/tests/cc/test_stat1.py b/tests/cc/test_stat1.py
index a644d0c..930478a 100755
--- a/tests/cc/test_stat1.py
+++ b/tests/cc/test_stat1.py
@@ -1,4 +1,6 @@
 #!/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
diff --git a/tests/cc/test_trace1.b b/tests/cc/test_trace1.b
index ebd2f31..05ddda6 100644
--- a/tests/cc/test_trace1.b
+++ b/tests/cc/test_trace1.b
@@ -1,3 +1,5 @@
+// Copyright (c) PLUMgrid, Inc.
+// Licensed under the Apache License, Version 2.0 (the "License")
 struct Ptr {
   u64 ptr:64;
 };
diff --git a/tests/cc/test_trace1.py b/tests/cc/test_trace1.py
index b9a0521..3749b2f 100755
--- a/tests/cc/test_trace1.py
+++ b/tests/cc/test_trace1.py
@@ -1,4 +1,6 @@
 #!/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
diff --git a/tests/cc/test_trace2.b b/tests/cc/test_trace2.b
index df5aa4a..1e4bcd1 100644
--- a/tests/cc/test_trace2.b
+++ b/tests/cc/test_trace2.b
@@ -1,3 +1,5 @@
+// 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; };
diff --git a/tests/cc/test_trace2.c b/tests/cc/test_trace2.c
index 757a296..ead26d5 100644
--- a/tests/cc/test_trace2.c
+++ b/tests/cc/test_trace2.c
@@ -1,3 +1,5 @@
+// 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; };
diff --git a/tests/cc/test_trace2.py b/tests/cc/test_trace2.py
index f74624a..64ed192 100755
--- a/tests/cc/test_trace2.py
+++ b/tests/cc/test_trace2.py
@@ -1,4 +1,6 @@
 #!/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
diff --git a/tests/cc/test_trace3.c b/tests/cc/test_trace3.c
index 2d3fc0d..543135e 100644
--- a/tests/cc/test_trace3.c
+++ b/tests/cc/test_trace3.c
@@ -1,3 +1,5 @@
+// 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"
diff --git a/tests/cc/test_trace3.py b/tests/cc/test_trace3.py
index 42ce4d6..28bea43 100755
--- a/tests/cc/test_trace3.py
+++ b/tests/cc/test_trace3.py
@@ -1,4 +1,6 @@
 #!/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
diff --git a/tests/cc/test_xlate1.b b/tests/cc/test_xlate1.b
index d982ec9..2db0046 100644
--- a/tests/cc/test_xlate1.b
+++ b/tests/cc/test_xlate1.b
@@ -1,3 +1,5 @@
+// Copyright (c) PLUMgrid, Inc.
+// Licensed under the Apache License, Version 2.0 (the "License")
 // test for packet modification
 
 #packed "false"
diff --git a/tests/cc/test_xlate1.c b/tests/cc/test_xlate1.c
index 9eb789b..2492122 100644
--- a/tests/cc/test_xlate1.c
+++ b/tests/cc/test_xlate1.c
@@ -1,3 +1,5 @@
+// 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 {
diff --git a/tests/cc/test_xlate1.py b/tests/cc/test_xlate1.py
index 1a8c301..da0425a 100755
--- a/tests/cc/test_xlate1.py
+++ b/tests/cc/test_xlate1.py
@@ -1,4 +1,6 @@
 #!/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
diff --git a/tests/wrapper.sh.in b/tests/wrapper.sh.in
index 8d455bf..9601c1f 100755
--- a/tests/wrapper.sh.in
+++ b/tests/wrapper.sh.in
@@ -1,4 +1,6 @@
 #!/bin/bash
+# Copyright (c) PLUMgrid, Inc.
+# Licensed under the Apache License, Version 2.0 (the "License")
 
 #set -x