-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Envoy's L4 Golang extension #25906
Comments
Cool stuff !~ |
I tired to use this extension.
I am able to get path and method but other headers are blank. Also, I see header.Range is still not implemented so not sure what all keys are available. Can you please guide me how to get host, useragent, cookies etc headers. |
@rakesh-eltropy This issue is for L4 filter, while your question is L7 filter related, better create a new issue for it. For your questions:
Yep, |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
when will support l4 extenstion? |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
I see this has landed in main recently. Is there any plan to support reading/writing filter state and dynamic metadata from it? This looks perfect for a custom routing filter at L4 that I'm planning to work on. |
@gitanuj can you please provide more details about your requirements? so that we could evaluate its feasibility. Of course, you are also welcome to submit a PR yourself. |
@antJack I actually created an issue about it #28128 To elaborate - I'm using Istio Ingress Gateway and I want to route TCP connections to different kubernetes services based on PPv2 TLV Headers (specifically the VPC Endpoint ID which is used for Private Links). I haven't found any existing solution for it so here's what I'm planning:
Does this make sense? I would be happy to work on the change too. |
@gitanuj sound good. The golang l7 extension currently has the capability to get or set dynamic metadata and filter state, and the l4 extension will soon have these features as well. Another important thing is that we have to support the As I left in the But don't worry, this is also an issue that we need to solve with high priority |
I'm looking into building a custom filter to authorize at L4 and use the TCP Proxy network filter to route to an upstream cluster |
@honeybadger10 yep, it's on the TODO list, but not scheduled for the short term. |
Recently, my team implemented the L7 golang extension. Similarly, we have implemented an L4 golang extension using the same cgo technique as L7. And the L4 extension has already been widely utilized within our company for almost a year, enabling our internal customized protocol to benefit from the high-performance network infrastructure of Envoy and the superior development efficiency of Golang. Additionally, the L4 golang extension can also provide a better implementation path for envoy's future support of Dapr, etc. Given the above, we are consider to open source our L4 golang extension very soon.
The text was updated successfully, but these errors were encountered: