1. 27 Apr, 2022 1 commit
  2. 01 Apr, 2022 1 commit
    • Baltasar Dinis's avatar
      [sloth]: v0.1.0 · 8b07a084
      Baltasar Dinis authored
      # Version v0.1.0
      
      ## Scope
      
      `sloth` is a tool which aims to shape (add latency and/or bandwidth limitations) Linux network traffic, using an 
      
      A user can specify, in a configuration file (using the JSON format) a
      network interface where traffic will be shaped as well as a list of
      peers it wants its traffic to be shaped.
      
      Per peer, a user can set an average latency to be imposed on the link
      (which can follow a normal distribution if an optional standard deviation is
      provided) as well as an optional bandwidth limit.
      
      `sloth` can parse this config and apply the shaping, using Linux's
      traffic shaping tool: `tc` (Traffic Control) and its `netem` module.
      
      This commit also implements a CLI to interact with the tool which
      allows:
      
          1. applying the config
          2. show the (parsed) config
          3. clearing the inteface emulation based on the config
          4. showing the inteface emulation based on the config
          5. clearing the inteface emulation based on its network name
          6. showing the inteface emulation based on its network name
      8b07a084