diff --git a/comac-in-a-box/resources/quagga.yaml b/comac-in-a-box/resources/quagga.yaml
new file mode 100644
index 0000000..63f87f5
--- /dev/null
+++ b/comac-in-a-box/resources/quagga.yaml
@@ -0,0 +1,43 @@
+#!/bin/bash -x
+#
+# Copyright 2019-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.
+---
+apiVersion: v1
+kind: Pod
+metadata:
+  name: router
+  labels:
+    app: quagga
+  annotations:
+    k8s.v1.cni.cncf.io/networks: '[
+            { "name": "sgi-net", "interface": "sgi-rtr", "interfaceRequest": "sgi-rtr" }
+    ]'
+spec:
+  containers:
+  - name: quagga
+    command: ["/bin/bash", "-c"]
+    args:
+      - >
+        ip addr flush sgi-rtr;
+        ip link set sgi-rtr address 0e:00:00:00:00:01;
+        ip addr add 13.1.1.254/24 dev sgi-rtr;
+        trap : TERM INT; sleep infinity & wait
+    image: opencord/quagga
+    securityContext:
+      capabilities:
+        add:
+          - NET_ADMIN
+    ports:
+    - containerPort: 2601
diff --git a/comac-in-a-box/resources/simpleovs b/comac-in-a-box/resources/simpleovs
new file mode 100755
index 0000000..f43b8a1
--- /dev/null
+++ b/comac-in-a-box/resources/simpleovs
@@ -0,0 +1,77 @@
+#!/bin/bash -x
+#
+# Copyright 2019-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.
+
+set -o errexit
+set -o pipefail
+set -o nounset
+
+exec 3>&1
+exec &>>/var/log/simple-ovs-cni.log
+
+PATH="$CNI_PATH:$(dirname "${BASH_SOURCE[0]}"):$PATH"
+CNI_CONF=$(cat /dev/stdin)
+
+get_bridge() {
+	echo "br-$(echo $CNI_CONF | jq -r '.name')"
+}
+
+ipam() {
+	local plugin=$(echo $CNI_CONF | jq -r '.ipam.type')
+	local res=$(echo $"$CNI_CONF" | "$plugin" | jq -c '.')
+	echo $res
+}
+
+add_br_and_port() {
+	mkdir -p /var/run/netns/
+        ln -sfT $CNI_NETNS /var/run/netns/$CNI_CONTAINERID
+
+	local bridge=$(get_bridge)
+	local ip=$1
+
+	ovs-vsctl --may-exist add-br $bridge
+	ovs-vsctl add-port $bridge $CNI_IFNAME -- set Interface $CNI_IFNAME type=internal
+
+	ip link set $CNI_IFNAME netns $CNI_CONTAINERID
+        ip netns exec $CNI_CONTAINERID ip addr add $ip dev $CNI_IFNAME
+        ip netns exec $CNI_CONTAINERID ip link set $CNI_IFNAME up
+}
+
+delete_br_and_port() {
+	local bridge="br-$(echo $CNI_CONF | jq -r '.name')"
+	ovs-vsctl del-port $CNI_IFNAME
+	if [ -z "$(ovs-vsctl list-ports $bridge)" ]; then
+		ovs-vsctl del-br $bridge
+	fi
+}
+
+case $CNI_COMMAND in
+ADD)
+	res=$(ipam)
+	ip=$(echo $res | jq -r '.ip4.ip')
+	add_br_and_port $ip
+        echo '{"cniVersion":"0.2.0"}' | jq -c --arg ip $ip '.ip4.ip = $ip' >&3
+	;;
+DEL)
+	set +o errexit
+	ipam
+	delete_br_and_port
+	set -o errexit
+	;;
+*)
+	echo "CNI_COMMAND=[ADD|DEL] only supported"
+	exit 1
+	;;
+esac
