Linux Layer7 Switching's main goal is to provide a performant framework for Layer7 switching. Layer7 switching is driving a low-level engine using networking design to speed-up forwarding of data stream. Implementation in this project is split into a userspace daemon and a low-level kernelspace forwarding engine.
Userspace daemon is responsible for scheduling and switching decisions. Kernelspace forwarding engine is responsible for forwarding stream and using TCP-Splicing scheme.
TCP-Splicing is the postponement of the connection between the client and the server in order to obtain sufficient information to make a routing decision. This project is close to Linux Virtual Server project since lot of discusions on this topics have been made online and offline LVS project.
Why using L7SW ?
This project will provide you a way to switch incoming clients requests using pattern matching. A quick example is to drive a web server farm by locating specific content on dedicated servers (video, audio, images, ...) while virtual server exported to end user is uniq.
What's New in This Release:
· The kernel code was extended to take care of released sockets while splicing sockets.
· The TCP listener and userspace daemon engine were extended to support fully asynchronous and non-blocking stream handling.
· wait_for_completion was fixed to use asynchronous design.
· The configuration parser and daemon engine were extended to define virtual_server and real_server.
· Support for Round-Robin and Least-Connection load balancing schedulers was added.
· The configuration file and readme were updated.