- Link speed
- Available bandwidth
- New Version option to display currently running tcp-int version
- Removed link utilzation feature
- Dynamic tagging policy: the eBPF specifies the tagging frequency to get timely updates without hurting performance
- New header option fields: TagFreqKey and LinkSpeed
- Compact encoding of Ecr fields: HopLat and IDEcr
- Performance evaluation scripts that configure the system and run workloads with various parameters
- Histograms of sent and received skb length
- Makefile configures the number of CPUs at compile time (instead of manually editing the header file)
- Removed compiler warnings
- Avoid multiple eBPF map lookups by caching result
- Renamed "SwitchID" to "HopID"
- Renamed "iratio" to "tagging frequency"
- The new 4-bit IDEcr encoding represents at most 15 hops on the path
- eBPF inserts TCP-INT option header into TCP packets being sent
- eBPF parses TCP-INT option header from received packets, and sends metrics to user-space for consumption
- Only programs (PIDs) in the tcp-int cgroup will have their TCP flows tagged by TCP-INT
- tcp_int user-space tool loads and configures eBPF
- User-space tcp_int tool prints trace of INT as it arrives
- The exporter receives INT events from the eBPF module and sends them as gRPC messages to a collector server
- Script and instructions for trying TCP-INT on a single server with network namespaces
- Script to plot timeseries of INT from trace generated by tcp_int tool
- Fine-grained flow filtering: currently, all TCP flows belonging to a PID in the tcp-int cgroup will be tagged. In addition, it would be useful to tag flows based on some filters (e.g., destination port, destination address, socket options).
- Testing: the tests in this release only exercise the basic functionality.