|
Hi folks, I've finally made it. My load balancing using virtual servers has successfully completed an initial set of tests and is now ready for being released. However, it is still ALPHA-software that can easily crash your system, since it sits right in the heart of it. Some notes: I have to keep a list of all clients currently connected to the virtual server (i.e. to one of the servers that the connection has been remapped to), because I can't send each packet of a connection to a different server, obviously. This list is currently kept as, yes, a list. This is terribly inefficient since the module has to search through that list for each packet that matches the virtual server rule. However, replacing the list by a hash function is easy. I just wanted to see if it (the technique) works at all, so I didn't care about speed very much. The ipnatadm manpage has been updated and contains some new information, mostly regarding how to use the virtual server code. Attention: Those of you who have already used the older NAT-package are encouraged to recompile their kernel with the updated patch. Although all functionality is in the module I have added a single line of code (linux/net/core/dev.c that ensures that the modules functions will only be called for IP-packets. Finally: Please, if you use the module, use this forum to let me know if it worked, what your setup was and if you find it useful. Since this is the only reward I get it will decide the question wether I'll continue improving the code or not. I myself don't need it at all, I've written the code merely because I was curious about NAT and how kernel programming for Linux feels like. By the way, thanks to debis (Daimler Benz Interservices) Chemnitz, my employer for the last 2 1/2 years, for letting me abuse some of their computers and part of their network for my experiments. Unfortunately I'll have to leave this company because I prefer to get a job in the US, which I'm currently looking for. [my resume]
Michael Hasenstein |
Messages
Outline:
Some virtual server hints... by Michael Hasenstein, 7/29/97