scapy (python) should be able to keep up with a voip or video stream.  I've been using it to parse packets and do some other manipulations.  It's certainly not C, performance-wise, but it's incredibly flexible at the protocol manipulation level.

The performance issues that I'm running into with it have me tempted to look for something similar in Go.  I'm unencapsulating packets (think stripping packets out of a GRE tunnel), and only able to get about 1000-1200 packets/sec on modest hardware (running in a linux VM hosted on windows on an i5 processor...)

-Aaron

On Fri, Feb 12, 2016 at 10:47 AM, Dave Täht <dave@taht.net> wrote:

A *long* while ago I had started at an attempt to do some better voip
and videoconferencing emulation. I stopped primarily due to:

A) wanting a *good* three way UDP handshake to kick off the protocol
(thus avoiding the DDOS possibilities)

B) No money

C) Not wanting to write it in C (and the low level features needed like
sendmmsg and manipulating low level ip header constructs like qos and
ecn seem hard to get at in many other languages)

D) hoping that some other protocol (like QUIC) could be used for it instead.

Anyway, my first attempt at describing what I wanted to do ended up
here, before I realized how much work it would be.

https://github.com/dtaht/twd/blob/master/rfc/middle.mkd

And I'm really tempted to go write something new in go or rust (Not C!
Need a break from C!), or leverage some other rtp/sip benchmarking tool.
Has any other libraries or benchmarks shown up worth leveraging to
tackle these problems?
_______________________________________________
Bloat mailing list
Bloat@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/bloat