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() ){
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;
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;
+ }
+
}
}
}