WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-bugs

[Xen-bugs] [Bug 534] New: network hangs for dom0 <-> domu ipv6 traffic

To: xen-bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-bugs] [Bug 534] New: network hangs for dom0 <-> domu ipv6 traffic
From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
Date: Tue, 14 Feb 2006 22:28:47 +0000
Delivery-date: Tue, 14 Feb 2006 22:52:02 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-bugs-request@lists.xensource.com?subject=help>
List-id: Xen Bugzilla <xen-bugs.lists.xensource.com>
List-post: <mailto:xen-bugs@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=unsubscribe>
Reply-to: bugs@xxxxxxxxxxxxxxxxxx
Sender: xen-bugs-bounces@xxxxxxxxxxxxxxxxxxx
http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=534

           Summary: network hangs for dom0 <-> domu ipv6 traffic
           Product: Xen
           Version: 3.0.1
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Hypervisor
        AssignedTo: xen-bugs@xxxxxxxxxxxxxxxxxxx
        ReportedBy: cmauch@xxxxxxxxx


I was able to gen ipv6 working by modifying the route-vif script a little, which
I'll enclose at the end of this report.  Maybe you'll find it useful.

But currently, ipv6 is not working properly.  I see the following behavior with 
xen.

1.  ping (icmpv6) works great for everything.  I can ping dom0 <-> domu, as well
as ping external ipv6 addresses - and ping domu's from the internet.
2.  ssh and web traffic is routed correctly and works great from any external
ipv6 address.
3.  ssh and web traffic between domu's is routed correctly and works great.
4.  ssh and web traffic between domu's and dom0 hangs.  I *believe* that it is a
similar problem to the tcp/checksum errors i see when i use xen with multiple
bridges.  Turning off tx checksum from within the domu with ethtool never solved
the checksum problems for me in ipv4, and trying the same workaround in ipv6
resulted in the same (did not fix anything).

NOTE: Because of the checksum problems in ipv4, i switched from the default xen
bridged network configuration to a purely routed setup, and this is true of ipv6
as well, except i see the network hangs in ipv6 routed mode where i only saw
these hangs in ipv4 bridged mode.  ipv4 traffic works without problems when
routed and not bridged.

Here is my vif-script.
#!/bin/sh

# Usage:
# custom-vif (add|remove|online|offline)
#
# Environment vars:
# vif         vif interface name (required).
# XENBUS_PATH path to this device's details in the XenStore (required).
#
# Read from the store:
# ip      list of IP networks for the vif, space-separated (default given in
#         this script).
#============================================================================

dir=$(dirname "$0")
. "$dir/xen-hotplug-common.sh"
. "$dir/xen-network-common.sh"

findCommand "$@"
evalVariables "$@"                      # Typically online or offline

XENBUS_PATH="${XENBUS_PATH:?}"

ip=${ip:-}
ip=$(xenstore_read_default "$XENBUS_PATH/ip" "$ip")
vif="${vif:?}"
domid=$(xenstore_read "$XENBUS_PATH/frontend-id")
vifid=$(xenstore_read "$XENBUS_PATH/handle")
vifid=$(( $vifid + 1 ))

# Convert last 2 ipv4 quads into equiv ipv6 host address
getip6() {
 echo $(echo $1 | awk -F. '{print "2002:83bf:ea8:2::"$3":"$4}')
}
getip6router() {
 echo $(echo $1 | awk -F. '{print "2002:83bf:ea8:2::"$3":1"}')
}

getip4router()
{ 
 echo $(echo $1 | awk -F. '{print $1"."$2"."$3".1"}')
}

ip6=$(getip6 "$ip")
ip6router=$(getip6router "$ip")
ip4router=$(getip4router "$ip")

hostname=$(xenstore_read "$XENBUS_PATH/domain" | tr -- '_.:/+' '-----')
if [ "$vifid" != "1" ]
then
  hostname="$hostname-$vifid"                   # Domain-0
fi


case "$command" in
    online)
        ip link set ${vif} up arp on
        ip -f inet  addr add ${ip4router} dev ${vif}
        ip -f inet6 addr add $ip6router/126 dev ${vif}
        ip -f inet  route add ${ip} dev ${vif} src ${ip4router}
        ip -f inet6 route add $ip6/126 dev ${vif} src $ip6router
        echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp
        # No nat in ipv6, no no proxy_arp!
        ;;
    offline)
        ifconfig ${vif} down
        ;;
esac

log debug "Successful custom-vif $command for $vif."
if [ "$command" == "online" ]
then
  success
fi

-- 
Configure bugmail: 
http://bugzilla.xensource.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-bugs] [Bug 534] New: network hangs for dom0 <-> domu ipv6 traffic, bugzilla-daemon <=