luisgerhorst / loxilb

Fork for https://gitlab.cs.fau.de/un65esoq/bpf-spectre - eBPF based cloud-native load-balancer. Powering K8s|Edge|5G|IoT|XaaS Apps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eBPF Emerging Project Go Report Card build workflow sanity workflow apache Info Slack

What is loxilb

loxilb is an open source hyper-scale software load-balancer for cloud-native workloads. It uses eBPF as its core-engine and is based on Golang. It is designed to power on-premise, edge and public-cloud Kubernetes cluster deployments.

πŸ“¦ loxilb aims to provide the following :

  • Service type load-balancer for kubernetes
    • L4/NAT stateful loadbalancer
    • NAT44, NAT66, NAT64 with One-ARM, FullNAT, DSR etc
    • Support for TCP, UDP, SCTP (w/ multi-homing), QUIC, FTP, TFTP etc
    • High-availability support with hitless/maglev/cgnat clustering
    • Full compliance for K8s loadbalancer Spec
    • Multi-cluster, in-cluster or ext-cluster deployment support
  • Extensive and scalable liveness probes for cloud-native environments
  • High-perf replacement for the aging iptables/ipvs
  • L7 proxy support - HTTP1.0, 1.1, 2.0 etc
  • Telco/5G/6G friendly features
    • GTP tunnels as first class citizens
    • LB support on various interfaces - N2, N4, E2 etc
    • Optimized SRv6 implementation
    • Support for UL-CL with LB, QFI and other utility extensions

🧿 loxilb is composed of:

  • Bespoke GoLang based control plane components
  • eBPF based data-path forwarding
    • Home-grown stack with advanced features like Conntrack, QoS etc
    • Complete kernel networking bypass
    • Highly scalable with low-latency & high throughput
  • GoLang powered easy to use APIs/Interfaces infra
  • Seamless integration with goBGP based routing stack

πŸš€ Why choose loxilb?

  • Performs much better compared to its competitors across various architectures

  • ebpf makes it flexible and future-proof (kernel version agnostic and in future OS agnostic 🚧)

  • Advanced quality of service for workloads (per LB, per end-point or per client)

  • Includes powerful NG stateful firewalling and IPSEC/Wireguardsupport

  • Optimized/Custom end-point liveness checks at scale

  • Support for 5G/Edge cloud-native workloads

  • Works with any Kubernetes distribution/CNI - k8s/k3s/k0s/kind/OpenShift + Calico/Flannel/Cilium/Weave/Multus etc

  • Extensive support for SCTP workloads (with multi-homing) on k8s

  • Dual stack with NAT66, NAT64 support for k8s

  • k8s multi-cluster support 🚧

  • Runs in any cloud (public cloud/on-prem) or standalone environments

    (*🚧: Work in progress)

πŸ“š Check loxilb Documentation for more info.

About

Fork for https://gitlab.cs.fau.de/un65esoq/bpf-spectre - eBPF based cloud-native load-balancer. Powering K8s|Edge|5G|IoT|XaaS Apps.

License:Apache License 2.0


Languages

Language:Go 100.0%