[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH] vif-common.sh to support tap network devices in iptables FORWARD chain


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Teck Choon Giam <giamteckchoon@xxxxxxxxx>
  • Date: Tue, 7 Jul 2009 19:49:15 +0800
  • Delivery-date: Tue, 07 Jul 2009 04:49:36 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=poqr9zAfhb447+zc0NnSvUtbyj8YYpE2NdTzxQAdkU0lP31rzp1k+MfWn8keFB0aqz oSzV8fqvD+cqmsCqsJUczlLlcDlfHia+b/MqFn89JJacyMJbAQyMKiWiFkZ2Wvl4lhbq 08sttzTboONW5nQwi2qYqewNaaHopRojU1DFo=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Sorry, the previous patch I sent in only support xm create to add in
iptables FORWARD chain but when you xm shutdown the tap related
ruleset is not removed from iptables FORWARD chain.  Below is the
patch which support xm create and xm shutdown.

--- vif-common.sh.orig  2009-07-07 19:09:39.000000000 +0800
+++ vif-common.sh       2009-07-07 19:47:48.000000000 +0800
@@ -73,6 +73,24 @@
     local c="-D"
   fi

+  # Added support for tap network devices in iptables FORWARD chain as this
+  # is required if antispoof is enabled or otherwise all packets to/from tap
+  # devices will be dropped.
+  # Start adding by Giam Teck Choon.
+  local tapif=`echo $vif | sed 's/vif/tap/'`
+  # for xm create
+  local checktapif=`cat /proc/net/dev | grep "${tapif}:" | grep -v grep`
+  # for xm shutdown
+  local checktapstate=`iptables -L -n | grep "state
RELATED,ESTABLISHED PHYSDEV match --physdev-out ${tapif}"`
+
+  if [ -n "$checktapif" ] || [ -n "$checktapstate" ] ; then
+    iptables "$c" FORWARD -m physdev --physdev-in "$tapif" "$@" -j ACCEPT \
+      2>/dev/null &&
+    iptables "$c" FORWARD -m state --state RELATED,ESTABLISHED -m physdev \
+      --physdev-out "$tapif" -j ACCEPT 2>/dev/null
+  fi
+  # End adding by Giam Teck Choon.
+
   iptables "$c" FORWARD -m physdev --physdev-in "$vif" "$@" -j ACCEPT \
     2>/dev/null &&
   iptables "$c" FORWARD -m state --state RELATED,ESTABLISHED -m physdev \


Thanks.

Kindest regards,
Giam Teck Choon

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.