VPC : add vpc_func.sh

Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/599dcb49
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/599dcb49
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/599dcb49

Branch: refs/heads/vpc
Commit: 599dcb49d52a8b79e9190526d328b57f4c1c9190
Parents: 5edb646
Author: anthony <[email protected]>
Authored: Thu Jul 26 14:06:15 2012 -0700
Committer: anthony <[email protected]>
Committed: Fri Jul 27 15:04:40 2012 -0700

----------------------------------------------------------------------
 .../debian/config/opt/cloud/bin/vpc_func.sh        |   64 +++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/599dcb49/patches/systemvm/debian/config/opt/cloud/bin/vpc_func.sh
----------------------------------------------------------------------
diff --git a/patches/systemvm/debian/config/opt/cloud/bin/vpc_func.sh 
b/patches/systemvm/debian/config/opt/cloud/bin/vpc_func.sh
new file mode 100755
index 0000000..18cbf4e
--- /dev/null
+++ b/patches/systemvm/debian/config/opt/cloud/bin/vpc_func.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+# Copyright 2012 Citrix Systems, Inc. Licensed under the
+# Apache License, Version 2.0 (the "License"); you may not use this
+# file except in compliance with the License.  Citrix Systems, Inc.
+# reserves all rights not expressly granted by 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.
+# 
+# Automatically generated by addcopyright.py at 04/03/2012
+
+# @VERSION@
+
+getEthByIp (){
+  local ip=$1
+  for dev in `ls -1 /sys/class/net | grep eth`
+  do
+    sudo ip addr show dev $dev | grep $ip > /dev/null
+    if [ $? -eq 0 ]
+    then
+      echo $dev
+      return 0
+    fi
+  done
+  return 1
+}    
+
+getVPCcidr () {
+  CMDLINE=$(cat /var/cache/cloud/cmdline)
+  for i in $CMDLINE
+  do
+    # search for foo=bar pattern and cut out foo
+    KEY=$(echo $i | cut -d= -f1)
+    VALUE=$(echo $i | cut -d= -f2)
+    if [ "$KEY" == "vpccidr" ]
+    then
+      echo "$VALUE"
+      return 0
+    fi
+  done
+  return 1
+}
+
+removeRulesForIp() {
+  local ip=$1
+  iptables-save -t mangle | grep $ip | grep "\-A"  | while read rule
+  do
+    rule=$(echo $rule | sed 's/\-A/\-D/')
+    sudo iptables -t mangle $rule
+  done
+  iptables-save -t nat | grep $ip | grep "\-A"  | while read rule
+  do
+    rule=$(echo $rule | sed 's/\-A/\-D/')
+    sudo iptables -t nat $rule
+  done
+  iptables-save -t filter | grep $ip | grep "\-A"  | while read rule
+  do
+    rule=$(echo $rule | sed 's/\-A/\-D/')
+    sudo iptables -t filter $rule
+  done
+}

Reply via email to