OSDN Git Service

2009/12/14 一時版追加
authormeguro <meguro@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 14 Dec 2009 02:54:17 +0000 (02:54 +0000)
committermeguro <meguro@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 14 Dec 2009 02:54:17 +0000 (02:54 +0000)
git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-ramiel@9109 1ed66053-1c2d-0410-8867-f7571e6e31d3

l7directord/l7directord
l7directord/t/10_startstop.t
l7directord/t/lib/l7vsadm.103 [new file with mode: 0755]
l7directord/t/lib/l7vsadm.104 [new file with mode: 0755]
l7directord/t/lib/l7vsadm.105 [new file with mode: 0755]
l7directord/t/lib/l7vsadm.106 [new file with mode: 0755]
l7directord/t/lib/l7vsadm.107 [new file with mode: 0755]
l7directord/t/lib/l7vsadm.108 [new file with mode: 0755]

index 80639bc..5ef5f4d 100644 (file)
@@ -1778,18 +1778,24 @@ sub ld_start {
                 return;
             }
     
-            if ( exists( $current_service->{$vip_id} )
-             && (defined $current_service->{$vip_id}{other_virtual_option} 
-               && defined $nv->{other_virtual_key}
-               && $current_service->{$vip_id}{other_virtual_option}
-                eq  $nv->{other_virtual_key} )) {
-                # service already exists, modify it
-                ld_edit_virtual($nv);
+            if ( exists( $current_service->{$vip_id} )){
+                if(( defined $current_service->{$vip_id}{other_virtual_option} 
+                  && defined $nv->{other_virtual_key})
+                  && $current_service->{$vip_id}{other_virtual_option}
+                   ne  $nv->{other_virtual_key} ) {
+                    ld_delete_virtual($nv);
+                    # no such service, create a new one
+                    ld_add_virtual($nv);
+                    $nv->{other_virtual_key}
+                        = $current_service->{$vip_id}{other_virtual_option};
+                }
+                else {
+                    # service already exists, modify it
+                    ld_edit_virtual($nv);
+                }
             }
             else {
                 # no such service, create a new one
-                ld_delete_virtual($nv);
-                # no such service, create a new one
                 ld_add_virtual($nv);
             }
     
index 2272fa5..35cd3a5 100644 (file)
Binary files a/l7directord/t/10_startstop.t and b/l7directord/t/10_startstop.t differ
diff --git a/l7directord/t/lib/l7vsadm.103 b/l7directord/t/lib/l7vsadm.103
new file mode 100755 (executable)
index 0000000..698d2f3
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+print <<"L7VSADM";
+Layer-7 Virtual Server version x.x.x
+Prot LocalAddress:Port ProtoMod Scheduler
+     SSL_config_file
+     Socket option
+     Access_log_flag
+     Access_log_file
+     Access_log_rotate option
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP [2001::1]:80 ip rr
+    none
+    none
+    0
+    none
+    none
+  -> [fe80::%eth1]:8080             Masq    5      0          3         
+L7VSADM
diff --git a/l7directord/t/lib/l7vsadm.104 b/l7directord/t/lib/l7vsadm.104
new file mode 100755 (executable)
index 0000000..c75341e
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+print <<"L7VSADM";
+Layer-7 Virtual Server version x.x.x
+Prot LocalAddress:Port ProtoMod Scheduler
+     SSL_config_file
+     Socket option
+     Access_log_flag
+     Access_log_file
+     Access_log_rotate option
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP [2001:1:2:3:4:5:6:7]:80 ip rr
+    none
+    none
+    0
+    none
+    none
+  -> [fe80:ffff:ffff:eeee:dddd:cccc:bbbb:aaaa]:80               Masq    3      0          3         
+  -> [fe80:1:22:333:4444:5:66:777]:80               Masq    2      0          3         
+  -> [fe80:ffff:ffff::ffff:ffff]:80               Masq    1      0          4         
+L7VSADM
diff --git a/l7directord/t/lib/l7vsadm.105 b/l7directord/t/lib/l7vsadm.105
new file mode 100755 (executable)
index 0000000..41c2d5f
--- /dev/null
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+print <<"L7VSADM";
+Layer-7 Virtual Server version x.x.x
+Prot LocalAddress:Port ProtoMod Scheduler
+     SSL_config_file
+     Socket option
+     Access_log_flag
+     Access_log_file
+     Access_log_rotate option
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP [2001::2]:80 sessionless rr
+    /etc/l7vs/ssl/ssl.target_1.cf
+    deferaccept,nodelay,cork,quickackoff
+    1
+    /var/log/l7vs/l7vsd_conn.log
+TCP [::]:8080 sslid rr
+    none
+    deferaccept,nodelay,cork,quickackoff
+    0
+    none
+    none
+TCP [3901:222:333:444:555::]:10000 ip rr
+    none
+    none
+    1
+    none
+    none
+L7VSADM
diff --git a/l7directord/t/lib/l7vsadm.106 b/l7directord/t/lib/l7vsadm.106
new file mode 100755 (executable)
index 0000000..6a5630b
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+print <<"L7VSADM";
+Layer-7 Virtual Server version x.x.x
+Prot LocalAddress:Port ProtoMod Scheduler
+     SSL_config_file
+     Socket option
+     Access_log_flag
+     Access_log_file
+     Access_log_rotate option
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP [::]:80 sessionless rr
+    none
+    none
+    1
+    none
+    none
+  -> 192.168.0.1:80               Masq    1      0          3         
+  -> 192.168.0.2:80               Masq    1      0          3         
+TCP [::1]:10 sslid rr
+    none
+    none
+    1
+    none
+    none
+TCP [0:0:0:0:0:0:0:0]:20 ip rr
+    none
+    none
+    1
+    none
+    none
+  -> [222:333:4::55]:80               Masq    1      0          4         
+L7VSADM
diff --git a/l7directord/t/lib/l7vsadm.107 b/l7directord/t/lib/l7vsadm.107
new file mode 100755 (executable)
index 0000000..3ee6665
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+print <<"L7VSADM";
+Layer-7 Virtual Server version x.x.x
+Prot LocalAddress:Port ProtoMod Scheduler
+     SSL_config_file
+     Socket option
+     Access_log_flag
+     Access_log_file
+     Access_log_rotate option
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+  -> [::]:80                 Masq    1      0          3         
+  -> [1:2:3:4:5:6:7:8]:25                 Masq    1      0          3         
+  -> [3:4:5::]:8080               Masq    1      0          4         
+L7VSADM
diff --git a/l7directord/t/lib/l7vsadm.108 b/l7directord/t/lib/l7vsadm.108
new file mode 100755 (executable)
index 0000000..d38f462
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+print <<"L7VSADM";
+Layer-7 Virtual Server version x.x.x
+Prot LocalAddress:Port ProtoMod Scheduler
+     SSL_config_file
+     Socket option
+     Access_log_flag
+     Access_log_file
+     Access_log_rotate option
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+  -> [::1]:80                 Masq    1      0          3         
+TCP [2001::1]:8080 sessionless rr
+    none
+    none
+    1
+    none
+    none
+  -> 192.168.0.2:80               Masq    1      0          4         
+L7VSADM