Hi,
The ipvs 0.9.6 tar ball is available on the LVS website. The ChangeLog
is as follows:
IP Virtual Server Netfilter module - Version 0.9.6 - November 4, 2001
Changes:
* Julian fixed up the locking of __ip_vs_copy_stats by disabling
the bottom half, the original simple spin locking may cause the
deadlock between the "ipvsadm -L ..." thread and the bottom half
thread of ipvs.
* Changed to use ip_vs_scheduler_get/ip_vs_scheduler_put for
finding and releasing a scheduler, and fixed up segfault in adding
a service with a scheduler doesn't exist and cannot be automically
loaded. Thank Julian for the finding and his fix.
* Added the IP_VS_SO_SET_ZERO setsockopt and its processing code
to set the counters zero in a service or all.
* Added the temporary solution (bind_mcastif_addr) to fix up that
the source address of UDP multicast messages is bound with address
of default gateway interface, instead of address of specified
multicast interface in the connection synchronization. Thank
Fabrice Bucher <fabrice@xxxxxxxxxx> for reporting the problem. I
think that udp_connect in the kernel actually cause the problem
above. :)
* Julian and I spent a lot of time making the sk_buff handling for
VS/NAT fast and correct. The ipvs 0.9.5 and 0.8.2 don't have
problems on this issue, becuase netfilter always linearizes every
sk_buff received at nf_hook_slow. This sk_buff linearization will
be pushed down to each netfiler hook in the kernel soon, because
it is slow. We changed ip_vs_header_check to guarantee TCP/UDP
header available in skb data area, added skb_linearize calling
only when it is nonlinear and it has an application helper,
changed ip_vs_skb_cow to call pskb_copy to copy skb data area only
if it is cloned, added the similar change to icmp handling, added
the ip_defrag() calling to reassemble IP fragments in the
ip_vs_forward_icmp code, etc. :)
* Rewrote ip_vs_skb_replce without allocating a new sk_buff, it is
much faster than the original one, it is more correct, this
function is only used in application helper. Tidy up the code of
ip_vs_app.c and ip_vs_ftp.c.
* Tidy up a lot code in ip_vs_sync.c, such as making error
handling correct, and making the variable names and function
prototypes look nicer.
* ipvsadm updates
Added "-Z, --zero" to zero the packet, byte and rate counters of a
service or all services.
Added more error message handling in the libipvs library and the
ipvsadm.c code.
ipvsadm man page update.
As always, bugreports, fixes, comments and suggestions are welcome.
Wensong
|