Skip to content

Repository files navigation

EdgeMesh-Extended

An eBPF-Powered Programmable Data Plane for Edge Service Mesh.

Edge nodes lose their link to the cloud control plane often and unpredictably. Standard service mesh sidecars (Envoy-class proxies) are too heavy for that environment — they burn CPU and memory doing userspace packet processing on hardware that doesn't have much of either to spare.

EdgeMesh-Extended is a localized, zero-sidecar edge service mesh: routing decisions happen in kernel space via eBPF (XDP on ingress, TC on egress), and a Raft consensus group scoped to each edge LAN keeps those routing rules consistent across nodes even when the link to the cloud is down.

Architecture

   cloud control plane (K8s API / KubeEdge CloudCore, optional)
                        │
                  tunnel │  (may be partitioned — the zone keeps working without it)
                        │
   ┌── edge zone (LAN) ──────────────────────────────────────────┐
   │                                                              │
   │   edgemesh-agent (node A)          edgemesh-agent (node B)   │
   │   ┌────────────────┐    raft RPC   ┌────────────────┐        │
   │   │ Raft FSM        │◄─────────────►│ Raft FSM        │  ...  │
   │   │       │         │               │       │         │       │
   │   │       ▼         │               │       ▼         │       │
   │   │ reconcile loop  │               │ reconcile loop  │       │
   │   │       │         │               │       │         │       │
   │   │       ▼         │               │       ▼         │       │
   │   │ cilium/ebpf mgr │               │ cilium/ebpf mgr │       │
   │   │───────┼─────────│               │───────┼─────────│       │
   │   │kernel ▼         │               │kernel ▼         │       │
   │   │ XDP + TC        │               │ XDP + TC        │       │
   │   │ maps + ringbuf  │               │ maps + ringbuf  │       │
   │   └────────────────┘               └────────────────┘        │
   └───────────────────────────────────────────────────────────────┘

Quickstart

(Coming soon)

Contributing

See CONTRIBUTING.md for details on how to run tests and contribute.

License

Apache 2.0

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages