diff --git a/extensions/pppoe/scripts/apps/netcfgConsolidator/NetcfgConsolidator.js b/extensions/pppoe/scripts/apps/netcfgConsolidator/NetcfgConsolidator.js
index 498575c..4a44d45 100755
--- a/extensions/pppoe/scripts/apps/netcfgConsolidator/NetcfgConsolidator.js
+++ b/extensions/pppoe/scripts/apps/netcfgConsolidator/NetcfgConsolidator.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * NetcfgConsolidator - Contains PPPoE device report functions
  */
diff --git a/extensions/pppoe/scripts/apps/netcfgConsolidator/addAndDeleteApList.js b/extensions/pppoe/scripts/apps/netcfgConsolidator/addAndDeleteApList.js
index bf05873..cd159a8 100755
--- a/extensions/pppoe/scripts/apps/netcfgConsolidator/addAndDeleteApList.js
+++ b/extensions/pppoe/scripts/apps/netcfgConsolidator/addAndDeleteApList.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * addAndDeleteApList - Contains PPPoE device report functions
  */
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/bootstrap.min.css b/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/bootstrap.min.css
index cd1c616..cee0b28 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/bootstrap.min.css
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/bootstrap.min.css
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /*!
  * Bootstrap v3.3.4 (http://getbootstrap.com)
  * Copyright 2011-2015 Twitter, Inc.
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/login.css b/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/login.css
index b2cf4c9..abadbcb 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/login.css
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/css/login.css
@@ -1,4 +1,22 @@
 
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
+
 html,body {
     height: 100%;
 }
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/login.html b/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/login.html
index 09fe75e..defc01b 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/login.html
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/authwebapp/login.html
@@ -1,3 +1,21 @@
+
+<!--
+Copyright 2017-present Open Networking Foundation
+
+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.
+-->
+
+
 <!DOCTYPE html>
 <html lang="en">
     <head>
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/cController.js b/extensions/pppoe/scripts/apps/pppoeMgmt/cController.js
index e6803f9..a3f9a23 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/cController.js
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/cController.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * cController - PPPoE C_Controller
  */
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI.js b/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI.js
index 516f2a8..a250e95 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI.js
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * checkPNI - starts with the system manager input CLI command in ONOS console that enable/disable the PPPoE service.
  */
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI_ipv4.js b/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI_ipv4.js
index 51e3295..dcd8e9a 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI_ipv4.js
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/checkPNI_ipv4.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * checkPNI_ipv4 - starts with the system manager input CLI command in ONOS console that enable/disable the PPPoE service.
  */
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/getData.js b/extensions/pppoe/scripts/apps/pppoeMgmt/getData.js
index 111cc87..a8baac1 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/getData.js
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/getData.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * gatData - Gat pppoe client ppp0 info
  */
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer.js b/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer.js
index d384268..8e198b4 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer.js
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * httpServer - HTTP server for user's credential
  */
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer_ipv4.js b/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer_ipv4.js
index 55a3ab8..6f300d2 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer_ipv4.js
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/httpServer_ipv4.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * httpServer_ipv4 - HTTP server for user's credential
  */
diff --git a/extensions/pppoe/scripts/apps/pppoeMgmt/startClient.js b/extensions/pppoe/scripts/apps/pppoeMgmt/startClient.js
index 5d02762..59473fb 100755
--- a/extensions/pppoe/scripts/apps/pppoeMgmt/startClient.js
+++ b/extensions/pppoe/scripts/apps/pppoeMgmt/startClient.js
@@ -1,3 +1,21 @@
+
+/*
+ * Copyright 2017-present Open Networking Foundation
+
+ * 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.
+ */
+
+
 /**
  * startClient - start pppoe client
  */
diff --git a/extensions/pppoe/scripts/nova_consolidator_setup.sh b/extensions/pppoe/scripts/nova_consolidator_setup.sh
index b6e02d9..ccf0277 100755
--- a/extensions/pppoe/scripts/nova_consolidator_setup.sh
+++ b/extensions/pppoe/scripts/nova_consolidator_setup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env bash
 #************************************************************/
 #** File:         nova_consolidator_setup.sh                */
diff --git a/extensions/pppoe/scripts/nova_consolidator_start.sh b/extensions/pppoe/scripts/nova_consolidator_start.sh
index 572666a..cdfad22 100755
--- a/extensions/pppoe/scripts/nova_consolidator_start.sh
+++ b/extensions/pppoe/scripts/nova_consolidator_start.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         nova_consolidator_start.sh                */
diff --git a/extensions/pppoe/scripts/nova_consolidator_stop.sh b/extensions/pppoe/scripts/nova_consolidator_stop.sh
index 33aacc0..cfb9e16 100755
--- a/extensions/pppoe/scripts/nova_consolidator_stop.sh
+++ b/extensions/pppoe/scripts/nova_consolidator_stop.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         nova_consolidator_start.sh                */
diff --git a/extensions/pppoe/scripts/nova_pppoe_cleanup.sh b/extensions/pppoe/scripts/nova_pppoe_cleanup.sh
index 6532ecf..db66dda 100755
--- a/extensions/pppoe/scripts/nova_pppoe_cleanup.sh
+++ b/extensions/pppoe/scripts/nova_pppoe_cleanup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         nova_pppoe_cleanup.sh                     */
diff --git a/extensions/pppoe/scripts/nova_pppoe_setup.sh b/extensions/pppoe/scripts/nova_pppoe_setup.sh
index 608fa6e..0b9a825 100755
--- a/extensions/pppoe/scripts/nova_pppoe_setup.sh
+++ b/extensions/pppoe/scripts/nova_pppoe_setup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         nova_pppoe_setup.sh                       */
diff --git a/extensions/pppoe/scripts/nova_vsg_monitor.sh b/extensions/pppoe/scripts/nova_vsg_monitor.sh
index e62c46a..e9282f9 100755
--- a/extensions/pppoe/scripts/nova_vsg_monitor.sh
+++ b/extensions/pppoe/scripts/nova_vsg_monitor.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env bash
 #************************************************************/
 #** File:         nova_vsg_monitor.sh                       */
diff --git a/extensions/pppoe/scripts/nova_vsg_setup.sh b/extensions/pppoe/scripts/nova_vsg_setup.sh
index e671fbe..a13d67a 100755
--- a/extensions/pppoe/scripts/nova_vsg_setup.sh
+++ b/extensions/pppoe/scripts/nova_vsg_setup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env bash
 #************************************************************/
 #** File:         nova_vsg_setup.sh                         */
diff --git a/extensions/pppoe/scripts/pppoe_server_add.sh b/extensions/pppoe/scripts/pppoe_server_add.sh
index cd8b627..618eafd 100755
--- a/extensions/pppoe/scripts/pppoe_server_add.sh
+++ b/extensions/pppoe/scripts/pppoe_server_add.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 PPPOE_SERVER_IP=$1
 curl -X POST http://10.3.0.1:24000/rest:$PPPOE_SERVER_IP:3000
diff --git a/extensions/pppoe/scripts/pppoe_server_delete.sh b/extensions/pppoe/scripts/pppoe_server_delete.sh
index 065bdc9..395b74f 100755
--- a/extensions/pppoe/scripts/pppoe_server_delete.sh
+++ b/extensions/pppoe/scripts/pppoe_server_delete.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 PPPOE_SERVER_IP=$1
 curl -X DELETE http://10.3.0.1:24000/rest:$PPPOE_SERVER_IP:3000
diff --git a/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_start.sh b/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_start.sh
index 242fc3e..92fd9f6 100755
--- a/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_start.sh
+++ b/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_start.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         vcpe_proxy_ap_mgmt_start.sh               */
diff --git a/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_stop.sh b/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_stop.sh
index 61b91ce..9921cc3 100755
--- a/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_stop.sh
+++ b/extensions/pppoe/scripts/vcpe_proxy_ap_mgmt_stop.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         vcpe_proxy_ap_mgmt_stop.sh                */
diff --git a/extensions/pppoe/scripts/vcpe_proxy_ipv6_setup.sh b/extensions/pppoe/scripts/vcpe_proxy_ipv6_setup.sh
index 5f390a9..0f84ae6 100755
--- a/extensions/pppoe/scripts/vcpe_proxy_ipv6_setup.sh
+++ b/extensions/pppoe/scripts/vcpe_proxy_ipv6_setup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         vcpe_proxy_ipv6_setup.sh                  */
diff --git a/extensions/pppoe/scripts/vsg_pppoe_cleanup.sh b/extensions/pppoe/scripts/vsg_pppoe_cleanup.sh
index 70aee3d..4686be5 100755
--- a/extensions/pppoe/scripts/vsg_pppoe_cleanup.sh
+++ b/extensions/pppoe/scripts/vsg_pppoe_cleanup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         vsg_pppoe_cleanup.sh                      */
diff --git a/extensions/pppoe/scripts/vsg_respin_vcpeproxy_docker.sh b/extensions/pppoe/scripts/vsg_respin_vcpeproxy_docker.sh
index 10a971c..8ee1a71 100755
--- a/extensions/pppoe/scripts/vsg_respin_vcpeproxy_docker.sh
+++ b/extensions/pppoe/scripts/vsg_respin_vcpeproxy_docker.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/bin/bash
 #************************************************************/
 #** File:         vsg_respin_vcpeproxy_docker.sh            */
diff --git a/extensions/pppoe/scripts/vsg_vcpe_gwbr_setup.sh b/extensions/pppoe/scripts/vsg_vcpe_gwbr_setup.sh
index 693c785..54cbbdb 100755
--- a/extensions/pppoe/scripts/vsg_vcpe_gwbr_setup.sh
+++ b/extensions/pppoe/scripts/vsg_vcpe_gwbr_setup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env bash
 #************************************************************/
 #** File:         vsg_vcpe_gwbr_setup.sh                    */
diff --git a/extensions/pppoe/scripts/vsg_vcpe_monitor.sh b/extensions/pppoe/scripts/vsg_vcpe_monitor.sh
index 9a33e70..b247406 100755
--- a/extensions/pppoe/scripts/vsg_vcpe_monitor.sh
+++ b/extensions/pppoe/scripts/vsg_vcpe_monitor.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env bash
 #************************************************************/
 #** File:         vsg_vcpe_monitor.sh                       */
diff --git a/extensions/pppoe/scripts/vsg_vcpe_proxy_setup.sh b/extensions/pppoe/scripts/vsg_vcpe_proxy_setup.sh
index cd734b2..17ac2c1 100755
--- a/extensions/pppoe/scripts/vsg_vcpe_proxy_setup.sh
+++ b/extensions/pppoe/scripts/vsg_vcpe_proxy_setup.sh
@@ -1,3 +1,19 @@
+
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+
 #!/usr/bin/env bash
 #************************************************************/
 #** File:         vsg_vcpe_proxy_setup.sh                   */
