Skip to content

Latest commit

 

History

History
56 lines (36 loc) · 2.03 KB

changelog.md

File metadata and controls

56 lines (36 loc) · 2.03 KB

Changes to TCP-INT in version 0.4.0-alpha

New features

  • Link speed
  • Available bandwidth

Optimizations

  • New Version option to display currently running tcp-int version
  • Removed link utilzation feature

Changes to TCP-INT in version 0.3.0-alpha

New features

  • 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)

Optimizations

  • Removed compiler warnings
  • Avoid multiple eBPF map lookups by caching result

Maintenance

  • Renamed "SwitchID" to "HopID"
  • Renamed "iratio" to "tagging frequency"

Limitations

  • The new 4-bit IDEcr encoding represents at most 15 hops on the path

Changes to TCP-INT in version 0.2.0-alpha

New features

  • 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

Limitations

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