code: func (v *vserver) updateState(ip seesaw.IP) {
  	// A vserver anycast IP is healthy if *all* services for that IP are healthy.
  	// A vserver unicast IP is healthy if *any* services for that IP are healthy.
  	var healthy bool
  	for _, s := range v.services {
  		if !s.ip.Equal(ip) {
  			continue
  		}
  		healthy = s.healthy
  		if !healthy && seesaw.IsAnycast(ip.IP()) {
  			break
  		}
  		if healthy && !seesaw.IsAnycast(ip.IP()) {
  			break
  		}
  	}
  
  	if v.active[ip] == healthy {
  		v.updateServices(ip)
  		return
  	}
  	switch {
  	case !healthy && v.active[ip]:
  		v.down(ip)
  	case healthy && !v.active[ip]:
  		v.up(ip)
  	}
  }
docs: // updateState updates the state of an IP for a vserver based on the state of
  // that IP's services.