OSDN Git Service

ticket #395
authortsukahara <tsukahara@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Sun, 27 Dec 2009 07:44:37 +0000 (07:44 +0000)
committertsukahara <tsukahara@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Sun, 27 Dec 2009 07:44:37 +0000 (07:44 +0000)
git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-ramiel@9438 1ed66053-1c2d-0410-8867-f7571e6e31d3

l7vsd/src/l7vsadm.cpp
l7vsd/src/virtualservice_tcp.cpp

index 12b1cc0..15c2bf5 100644 (file)
@@ -994,7 +994,9 @@ bool    l7vs::l7vsadm::parse_rs_func( l7vs::l7vsadm_request::COMMAND_CODE_TAG cm
     Logger    logger( LOG_CAT_L7VSADM_COMMON, 13, "l7vsadm::parse_rs_func", __FILE__, __LINE__ );
 
     request.command = cmd;
+
     request.vs_element.realserver_vector.push_back( realserver_element() );
+
     for( int pos = 2; pos < argc; ++pos ){
         parse_opt_map_type::iterator itr = rs_option_dic.find( argv[pos] );
         if( itr != rs_option_dic.end() ){
@@ -1048,9 +1050,12 @@ bool    l7vs::l7vsadm::parse_rs_func( l7vs::l7vsadm_request::COMMAND_CODE_TAG cm
             return false;
         }
     }
-    // realserver weight default value = 1
-    if( -1 == request.vs_element.realserver_vector.front().weight ){
-        request.vs_element.realserver_vector.front().weight = 1;
+
+    if( l7vsadm_request::CMD_EDIT_RS != cmd ) {
+        // realserver weight default value = 1
+        if( -1 == request.vs_element.realserver_vector.front().weight ){
+            request.vs_element.realserver_vector.front().weight = 1;
+        }
     }
 
     return true;
index 51f6e24..4305e60 100644 (file)
@@ -1220,7 +1220,11 @@ void    l7vs::virtualservice_tcp::edit_realserver( const l7vs::virtualservice_el
              rs_itr != rs_list.end(); ++rs_itr ){
             if( itr->tcp_endpoint == rs_itr->tcp_endpoint ){
                 rs_itr->udp_endpoint    = itr->udp_endpoint;
-                rs_itr->weight            = itr->weight;
+
+                if( itr->weight != -1 ) {
+                    rs_itr->weight            = itr->weight;
+                }
+
             }
         }
     }