Using my own eBPF based dataplane proxy with consul

Hi, I am working towards developing an experimental service mesh where the data plane is implemented inside the ebpfs on the service side.

Use Case / Goal :

I want to use consul for service discovery and other control plane functionality. But instead of using something like “Envoy Proxy” or any other L7 proxy for data plane I want to implement my that part in the eBPFs.

Problem :

I found that Envoy Proxy is the default way of using consul. Is it possible to completely remove Envoy Proxy and rather have my own application that gets information about new service discovery etc and it will configure by eBPF implementation from where it will automatically redirect or send packets.

Good question, i’m searching for similar solution with consul + (any reverse proxy).

I’m following this issue

1 Like

Thanks for the link.

I wanted to know that whether the incoming request from other services is received directly by the application pod in case I don’t use any proxy and just use consul’s GO SDK for basic functionality.

In that case we can use the GO SDK as a client side agent of control plane that can get control info and configure the eBPF program accordingly. So any incoming request from other service or outgoing request to other service will be taken care by ebpf program.