|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-users
[Xen-users] DomU strange network behavior 
| I  am experiencing strange network behavior from several DomU's. I can ssh from DomU to any host on the local lan/vlan, I can ping those hosts. However when I go to resolve a hostname DNS fails. I have verified that three other DomU's are exhibiting the same behavior. I have also verified that Dom0 is functioning properly and can resolve hostnames and access hosts outside of the lan/vlans. Any ideas on what is going on? I have verified that networking looks to be working properly.  I am using a custom network script and Ethernet bonding. This has me particularly stumped as I do not see anything in the logs to indicate why name resolution would be failing. Here is the output of my configuration. If more information is needed let me know. 
 Thanks
 Andrew
 
 
 badm01::# brctl show
 bridge name    bridge id        STP enabled    interfaces
 virbr0        8000.000000000000    yes
 xenbr0        8000.00219bfbd4f1    yes        vif1.0
 bond0
 badm01::#
 
 badm01::# cat /etc/xen/scripts/network-bridge-bond
 #!/bin/sh
 
 # Usage: transfer_addrs src dst
 # Copy all IP addresses (including aliases) from device $src to device $dst.
 transfer_addrs () {
 local src="">    local dst=$2
 # Don't bother if $dst already has IP addresses.
 if ip addr show dev ${dst} | egrep -q '^ *inet ' ; then
 return
 fi
 # Address lines start with 'inet' and have the device in them.
 # Replace 'inet' with 'ip addr add' and change the device name $src
 # to 'dev $src'.
 ip addr show dev ${src} | egrep '^ *inet ' | sed -e "
 s/inet/ip addr add/
 s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/[0-9]\+\)@\1@
 s/${src}/dev ${dst}/
 " | sh -e
 # Remove automatic routes on destination device
 ip route list | sed -ne "
 /dev ${dst}\( \|$\)/ {
 s/^/ip route del /
 p
 }" | sh -e
 }
 
 # Usage: transfer_routes src dst
 # Get all IP routes to device $src, delete them, and
 # add the same routes to device $dst.
 # The original routes have to be deleted, otherwise adding them
 # for $dst fails (duplicate routes).
 transfer_routes () {
 local src="">    local dst=$2
 # List all routes and grep the ones with $src in.
 # Stick 'ip route del' on the front to delete.
 # Change $src to $dst and use 'ip route add' to add.
 ip route list | sed -ne "
 /dev ${src}\( \|$\)/ {
 h
 s/^/ip route del /
 P
 g
 s/${src}/${dst}/
 s/^/ip route add /
 P
 d
 }" | sh -e
 }
 
 
 
 # Usage: create_bridge bridge
 create_bridge () {
 local bridge=$1
 
 # Don't create the bridge if it already exists.
 if ! brctl show | grep -q ${bridge} ; then
 brctl addbr ${bridge}
 brctl stp ${bridge} off
 brctl setfd ${bridge} 0
 fi
 ip link set ${bridge} up
 }
 
 # Usage: add_to_bridge bridge dev
 add_to_bridge () {
 local bridge=$1
 local dev=$2
 # Don't add $dev to $bridge if it's already on a bridge.
 if ! brctl show | grep -q ${dev} ; then
 brctl addif ${bridge} ${dev}
 fi
 }
 
 # Usage: show_status dev bridge
 # Print ifconfig and routes.
 show_status () {
 local dev=$1
 local bridge=$2
 
 echo '============================================================'
 ip addr show ${dev}
 ip addr show ${bridge}
 echo ' '
 brctl show ${bridge}
 echo ' '
 ip route list
 echo ' '
 route -n
 echo '============================================================'
 }
 
 op_start () {
 create_bridge xenbr0
 add_to_bridge xenbr0 vif0.0
 add_to_bridge2 xenbr0 bond0
 
 transfer_addrs bond0 xenbr0
 transfer_routes bond0 xenbr0
 }
 
 op_stop () {
 transfer_routes xenbr0 bond0
 ip link set xenbr0 down
 brctl delbr xenbr0
 
 }
 
 # adds $dev to $bridge but waits for $dev to be in running state first
 add_to_bridge2() {
 local bridge=$1
 local dev=$2
 local maxtries=10
 
 echo -n "Waiting for ${dev} to negotiate link."
 for i in `seq ${maxtries}` ; do
 if ifconfig ${dev} | grep -q RUNNING ; then
 break
 else
 echo -n '.'
 sleep 1
 fi
 done
 
 if [ ${i} -eq ${maxtries} ] ; then echo '(link isnt in running state)' ; fi
 
 add_to_bridge ${bridge} ${dev}
 }
 
 case "${1}" in
 start)
 op_start
 ;;
 
 stop)
 op_stop
 ;;
 
 status)
 show_status ${netdev} ${bridge}
 ;;
 
 *)
 echo "Unknown command: ${1}" >&2
 echo 'Valid commands are: start, stop, status' >&2
 exit 1
 esac
 
 badm01::#
 
 badm01::# less btst
 name = "btst"
 uuid = "7da402c9-603c-b2bc-b385-a2a711fbf6d9"
 maxmem = 256
 memory = 256
 vcpus = 1
 bootloader = "/usr/bin/pygrub"
 >>>vfb = [  ]
 disk = [ "tap:aio:/opt/xen/images/btst,xvda,w" ]
 vif = [ "mac=00:16:3e:62:15:fb,bridge=xenbr0" ]
 badm01::#
 
 
 
 _______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
[Xen-users] DomU strange network behavior,
Andrew Deagman <=
 |  |  | 
  
    |  |  |