Skip to content

Resource and slice limits

alshabib edited this page Oct 1, 2012 · 3 revisions

Slice Limits

Define resource limits per slice. The configuration will be stored in the db, in a key value table associated to each slice.

Limit Types

  1. Number of flow entries per slice per dpid - requires flow tracking, even if rudimentary. Basically this needs a mechanism for counting the current number of flows installed at the switch by this slice. Should the sum of all flow entries at one dpid be summed? It would let fv know when a particular dpid is about to barf.

Bandwidth - requires queue support. The idea being that a slice will have a queue attached to it which is unknown to the slice controller. ie. Controller emits flow mod, output we change it to flow mod, enqueue.

  1. Table access (1.1) - requires 1.1 support multiple tables support. This is pretty straight forward but may have to wait a while.
  2. Control channel rate - requires some rate limiting support at the switch end. Problem is here, how does fv set this up at the switch.
  3. Set of priorities slice has access to - assigns a certain set of priorities to a slice, these priorities would be mapped to the priorities pushed in a flow mod from a controller. This is a poor man''s virtualized priorities.
  4. Limit flow timeout values - FV should handle flow timeout. Possibly by re-writing them to some (small-ish) value and reinstalling flowmod for the time the controller expects the flow to be installed.