quilkin icon indicating copy to clipboard operation
quilkin copied to clipboard

How do Filters send packets? (or should they?)

Open markmandel opened this issue 4 years ago • 1 comments

There are lots of use cases for being able to send packets from a Filter, or something similar, e.g.

  • DTLS/Encryption that requires a handshake
  • Sending regular packets to track ping time and/or jitter

Right now, Filters can only intercept and manipulate packets.

This could be:

  • An extension or modification to how Filters work
  • A whole new different type of manipulation module (are Envoy Listeners a good model?)
  • Something else?

markmandel avatar Jun 30 '21 15:06 markmandel

I think we already have this, as you could write a filter that binds to a UDP socket and holds a Arc to it on initialisation, so it could send to that socket, or it could use a Arc<Map<String, UdpSocket>>, all of these would safe to share, the important thing that we're missing is that we don't want a filter that's waiting on data from those sockets to block the rest of the pipeline.

So I think this would be solved with #12

XAMPPRocky avatar Jul 05 '21 08:07 XAMPPRocky