Changes between Version 7 and Version 8 of OpenFlow/Slicer/Requirements

11/05/14 10:28:13 (8 years ago)



  • OpenFlow/Slicer/Requirements

    v7 v8  
    3 = Naming Convention =
    4 The formalized requirements for this section follow the naming convention that is shown in the following diagram:[[br]]
    5 [[Image(OF-SVC-ABSTR-REQ-MAP.jpg)]]
     3= GENI Slicer Requirements =
    7 = Slicer Goals =
     5This page captures the functional, operational, monitoring and support requirements for the GENI Slicer software.  A GENI Slicer is an operations tool that allows the management of GENI substrates by providing substrate slicing functions for the community driven service abstraction layer.  The service abstraction layer is a new OpenFlow functional area which is intended to simplifies GENI Experimenter !OpenFlow controllers.
     7A GENI Slicer has the following goals:
    88 * Isolation of traffic between experimenters
    99 * High scalability with number of supported devices and number of concurrent slices
    1717  * Don't try to outsmart the switch or controller
    19 = Formalized Requirements =
     19== Requirement Conventions ==
     20The formalized requirements for this section follow the naming convention that is shown in the following diagram:[[br]]
    2023This page should capture our requirements for a slicer of GENI OpenFlow infrastructure.  These requirements have been written following keyword BCP
    22 == Functional Requirements ==
     25= Functional Requirements =
    2326 * '''OF-OPR-SLCR-FN-001''': The slicer MUST support slicing infrastructure by VLAN ID.
    2427  * '''OF-OPR-SLCR-FN-001-a''': The slicer MUST be able to support allocating between one and some number ''n'' with ''n''>1 VLANs to a single slice while having that slice be controlled by a single controller.
    6467  * '''OF-OPR-SLCR-FN-014-d''': In the case where a slice includes multiple VLANs for a particular device belonging to that slice, the slicer SHOULD NOT attempt to modify data packets in packet-outs, data packets in packet-ins, or matches and wildcards in flowmods.
    66 == Operational Requirements ==
     69= Operational Requirements =
    6770 * '''OF-OPR-SLCR-OP-001''': The slicer MUST NOT require operator intervention for normal operations in the GENI environment.
    6871  * '''OF-OPR-SLCR-OP-001-a''': Creating a slice MUST NOT require operator approval from the slicer for new slices.  The slicer MAY have some kind of policy enforcement for slice approval.
    8285 * '''OF-OPR-SLCR-OP-009''': When a slice is created or deleted the slicer MUST clear out flow tables of switches for the corresponding VLANs of that slice.
    84 == Software Development Requirements ==
     87= Software Development Requirements =
    8588 * '''OF-OPR-SLCR-SW-001''': The slicer code base SHOULD be have an active maintainer who is willing to provide bug fixes in a timely fashion.
    8689 * '''OF-OPR-SLCR-SW-002''': The slicer code base SHOULD have an active development team who is willing to discuss feature requests, add features, and update code to keep up with the requirements of the GENI AM API.
    9497= Wishlist =
    9598This section is for tracking things that we would really like but likely don't qualify as requirements.  Don't hesitate to put stuff in here!  If you are unsure if something belongs in the requirements or the wishlist, feel free to ask Tim.
    96  * Slicer protection of substrate
    97   * Slicer can install rules to drop certain kinds of traffic like CDP with no VLAN, STP with no VLAN, LLDP with no VLAN, etc
    98   * If traffic within a slice is disrupting a switch (e.g. causing a bunch of packet ins) then add a drop rule in addition to disabling the slice
    9999 * Slicer should come in the form of a package, and preferably should be installable from a repo through a package manager
    100100 * Support for "untagged" in addition to VLAN IDs in slicer