capsule-rs / capsule

A framework for network function development. Written in Rust, inspired by NetBricks and built on DPDK.
Apache License 2.0
393 stars 35 forks source link

the ability to optionally associate packet to tx queue #154

Open sbuzzard opened 2 years ago

sbuzzard commented 2 years ago

right now for an app, you may be processing packets for a great many logical streams where for each stream it needs to output to the same tx queue to preserve order but to scale would want to spread out the streams across queues. This isn’t currently possible in capsule. Not sure the best api for this.

sbuzzard commented 2 years ago

note that I am doing this in [my fork[(https://github.com/sbuzzard/capsule/blob/ruby/core/src/runtime/port.rs#L38) but without a general purpose API. I just modified it for my immediate needs: the outbox is a collection of outboxes, each tied to a specific tx-lcore, allowing me to look up the outbox for a given lcore. It doesn't retain the ability to configure a general purposes round robining of transmitted packets to tx lcores, which you'd obviously want to maintain.