Code Monkey home page Code Monkey logo

Comments (8)

florincoras avatar florincoras commented on August 16, 2024

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.

 avatar commented on August 16, 2024

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.

florincoras avatar florincoras commented on August 16, 2024

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.

 avatar commented on August 16, 2024

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.

florincoras avatar florincoras commented on August 16, 2024

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:

  1. To fix your problem, can you try the latest patch? It makes rx zero copy configurable and defaults to it off.
  2. 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.

 avatar commented on August 16, 2024

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.

florincoras avatar florincoras commented on August 16, 2024

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.

 avatar commented on August 16, 2024

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.