Comments (8)
I suspect this might be related to the fact that sessions are duplicated. Are you running with port reuse enabled?
On a separate note, I recently found out that the listener code in upstream envoy has been considerably refactored and the new approach is not compatible with envoy-vpp. I'm working on a fix.
from envoy-vpp.
Do you mean reuse_port in envoy listener settings? As I checked, this option supposed to be true on default. Unfortunately, setting it manually doesn't change anything.
from envoy-vpp.
Yes, that's the config I was thinking about. I believe it's default enabled now on main but might not have been some months ago.
Either way, I've rebased the code onto latest envoy and have pulled in a more recent version of vpp. Could you try the latest patch and see if you're still hitting the issue? Everything seems to be working fine in my simple "proxy to backend" test (HttpConnectionManager). But that's not to say the zero-copy rx code has been tested / is compatible with all filters.
from envoy-vpp.
Yeah, I've tried only using simple http server. Everything seems to be working fine now if I compile it in release(-c opt) version. In debug build, I still get the same error in assert.
envoy.log
from envoy-vpp.
Thanks for checking! For whatever reason, I'm not able to reproduce the error. Maybe it's because I'm using wrk as a client but I did try both release and debug imaged for vcl. So we can do two things:
- To fix your problem, can you try the latest patch? It makes rx zero copy configurable and defaults to it off.
- If you have the time, run envoy from gdb and check what s->rx_bytes_pending and n_bytes are when vcl asserts. I'd like to default to rx zero copy on because it does seem to yield some benefits (maybe around 4%), but these type of issues should be ironed out first.
from envoy-vpp.
You are right. I think that I didn't clean up my environment. I've rebuilt completely VPP and Envoy, everything seems to be working fine now. Thx for your help. I have one more question, do you know where I could find good knowledge resources about using VCL interface?
from envoy-vpp.
Did you pull in the latest patch? If not, then I can switch rx zero copy back on :-)
As for VCL docs, the best resource at this point is this. If you hit any issues send an email to [email protected] (or to me).
from envoy-vpp.
I've pulled last patch and built after that. I could check with clean build what happen if I set VCL_RX_ZC to 1.
from envoy-vpp.
Related Issues (5)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from envoy-vpp.