upstream choice modules
diff --git a/auto/modules b/auto/modules
index 929cad0..f6c818a 100644
--- a/auto/modules
+++ b/auto/modules
@@ -255,6 +255,11 @@
     HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_SRCS"
 fi
 
+if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
+    HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_IP_HASH_MODULE"
+    HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_IP_HASH_SRCS"
+fi
+
 # STUB
 #USE_MD5=YES
 #HTTP_SRCS="$HTTP_SRCS $HTPP_CACHE_SRCS"
diff --git a/auto/options b/auto/options
index a3b1b5d..29ed3a9 100644
--- a/auto/options
+++ b/auto/options
@@ -71,6 +71,7 @@
 HTTP_EMPTY_GIF=YES
 HTTP_BROWSER=YES
 HTTP_FLV=NO
+HTTP_UPSTREAM_IP_HASH=YES
 
 # STUB
 HTTP_STUB_STATUS=NO
@@ -170,6 +171,7 @@
         --without-http_memcached_module) HTTP_MEMCACHED=NO          ;;
         --without-http_empty_gif_module) HTTP_EMPTY_GIF=NO          ;;
         --without-http_browser_module)   HTTP_BROWSER=NO            ;;
+        --without-http_upstream_ip_hash_module) HTTP_UPSTREAM_IP_HASH=NO ;;
 
         --with-http_perl_module)         HTTP_PERL=YES              ;;
         --with-perl_modules_path=*)      NGX_PERL_MODULES="$value"  ;;
@@ -271,6 +273,8 @@
   --without-http_memcached_module    disable ngx_http_memcached_module
   --without-http_empty_gif_module    disable ngx_http_empty_gif_module
   --without-http_browser_module      disable ngx_http_browser_module
+  --without-http_upstream_ip_hash_module
+                                     disable ngx_http_upstream_ip_hash_module
 
   --with-http_perl_module            enable ngx_http_perl_module
   --with-perl_modules_path=PATH      set path to the perl modules
diff --git a/auto/sources b/auto/sources
index 1d0f59c..89b3268 100644
--- a/auto/sources
+++ b/auto/sources
@@ -270,6 +270,7 @@
            src/http/ngx_http_variables.h \
            src/http/ngx_http_script.h \
            src/http/ngx_http_upstream.h \
+           src/http/ngx_http_upstream_round_robin.h \
            src/http/ngx_http_busy_lock.h"
 
 HTTP_SRCS="src/http/ngx_http.c \
@@ -285,6 +286,7 @@
            src/http/ngx_http_variables.c \
            src/http/ngx_http_script.c \
            src/http/ngx_http_upstream.c \
+           src/http/ngx_http_upstream_round_robin.c \
            src/http/ngx_http_parse_time.c \
            src/http/modules/ngx_http_static_module.c \
            src/http/modules/ngx_http_index_module.c \
@@ -398,6 +400,10 @@
 HTTP_FLV_SRCS=src/http/modules/ngx_http_flv_module.c
 
 
+HTTP_UPSTREAM_IP_HASH_MODULE=ngx_http_upstream_ip_hash_module
+HTTP_UPSTREAM_IP_HASH_SRCS=src/http/modules/ngx_http_upstream_ip_hash_module.c
+
+
 IMAP_INCS="src/imap"
 
 IMAP_DEPS="src/imap/ngx_imap.h"