You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by an...@apache.org on 2012/07/28 01:04:17 UTC
[14/16] git commit: VPC : add vpc_func.sh
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 <an...@cloud.com>
Authored: Thu Jul 26 14:06:15 2012 -0700
Committer: anthony <an...@cloud.com>
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
+}