[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-bugs] [Bug 534] New: network hangs for dom0 <-> domu ipv6 traffic
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |