https://github.com/f5networks/quic-lb
An implementation of the QUIC Load Balancing Algorithm, described in https://datatracker.ietf.org/doc/draft-ietf-quic-load-balancers/
https://github.com/f5networks/quic-lb
Last synced: 9 months ago
JSON representation
An implementation of the QUIC Load Balancing Algorithm, described in https://datatracker.ietf.org/doc/draft-ietf-quic-load-balancers/
- Host: GitHub
- URL: https://github.com/f5networks/quic-lb
- Owner: F5Networks
- License: apache-2.0
- Created: 2020-07-21T23:30:26.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2022-11-01T03:57:47.000Z (over 3 years ago)
- Last Synced: 2025-04-13T17:46:03.485Z (about 1 year ago)
- Language: C
- Homepage:
- Size: 463 KB
- Stars: 31
- Watchers: 7
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
QUIC-LB
===
QUIC-LB is a set of common algorithms that allow a QUIC server to incorporate
a "Server ID" in its Connection ID, and for a low-state load balancer to
extract that connection ID for routing purposes.
The QUIC Working Group [Editor's draft]
(https://quicwg.org/load-balancers/draft-ietf-quic-load-balancers.html)
specifies the design.
Building QUIC-LB
---
1. Clone this project from git.
2. Install openssl
3. % make
Guide to files
---
This project provides a library for load balancer and QUIC server
implementations to generate and decode compliant connection IDs, given a
consistent configuration.
This library is contained in quic_lb.h and quic_lb.c. As this code was
originally developed for a proprietary microkernel environment, quic_lb_types.h
is also required to compile in conventional Linux.
quic_lb_test.c creates a series of valid configurations, generates connection
IDs for those configurations, and then extracts the server ID to check that it
is recoverable. The Makefile compiles this test code, generating a full report
of configuration parameters.
Contribution Guidelines
---
Contributions are welcome. However, F5 corporate policy requires contributors to
complete the Contributor License Agreement and email it to a.macedonia@f5.com.
The CLA is in the root directory of this repo.