wiki:Internal/WiMAX/WiMAXAPI/aSliceMgmt

Version 6 (modified by seskar, 15 years ago) ( diff )

Name changed from Internal/WiMAX/WiMAXAPI/SliceMgmt to Internal/WiMAX/WiMAXAPI/aSliceMgmt

Table of Contents

  1. API Classification and Usage
    1. Sample Experiment Setup Using API
    2. Sample Experiment: Custom Service Class Control
  2. Accessing the WiMAX Base Station
        1. Input Command
        2. Expected Output
        3. Input Command
        4. Expected Output
        5. Input Command
        6. Expected Output
        7. Input Command
        8. Expected Output
        9. Sample Experiment Script
  3. Slice Manager API Specification (User Exposed)
    1. SLICE (VM) Control Functions
      1. createSLICE
      2. destroySLICE
      3. startSLICE
      4. stopSLICE
      5. setSLICEParams
    2. Client Control Functions
      1. addClient
      2. deleteClient
  4. Radio Management API (User Exposed)
    1. Custom Service Class Suport
      1. createServiceFlow(SlideID, direction, priority, classifier-ips, …
      2. createServiceClass(SlideID,STIDs{})
      3. installServiceClass(SlideID,SCID)
      4. uninstallServiceClass(SlideID,SCID)
      5. deleteServiceClass(SlideID, SCID)
      6. deleteServiceFlow(SlideID, STID)
    2. Slice Radio Control
      1. setMinimalMcs(SliceID, MSID, SCID, mcs)
      2. setFixedMcs(SliceID, MSID, SCID, mcs)
      3. setRadioResource(SliceID, MSID, RR)
      4. setBandwithUlDlRatio(bandwidth UL_DL_ratio)
    3. Slice Radio Monitoring
      1. getAllClientsInfo( SLICEID )
      2. getClientInfo(SLICE ID, MSID)
      3. getSliceResource(SLICEID)
  5. System Administrator API Specification (Internal)
    1. VM Administration
      1. setSliceParams(SLICEID, disk_quota, cpu)
      2. getSliceParams(SLICEID)
    2. getTotalParams(SLICEID) =
  6. SM – Datapath API (Internal)
      1. addClient(VLAN, MSID)
      2. removeClient(VLAN, MSID)
  7. RM – Datapath API (Internal)
      1. addServiceFlow(MSID, Service class tlv)
      2. removeServiceFlow(MSID, Service class tlv)
  8. BSFB – Datapath API (Internal)
    1. Network Entry Control API Specification
      1. appendMACAcl
      2. removeMACAcl
      3. acceptMAC
      4. rejectMAC
      5. clientRegistration
      6. clientDeregistration
    2. Radio Level Monitoring
      1. getAvailableResources
      2. getMCS
      3. getThroughput
      4. getPacketLoss

Slice Manager API Specification (User Exposed)

The API specification is classified based on functionality. Each category of APIs has both:

  • getters – responsible for reporting based on specified control information, and
  • setters – responsible for setting the specified control information.

The slice manager API are further classified into

  1. VM control functions and
  2. Client control functions.

SLICE (VM) Control Functions

These set of functions are responsible for managing context isolation of multiple slices through the use of virtual machines.

createSLICE

This function is invoked from a gateway machine by the slice user to instantiate its slice for experimentation.

createSLICE(used_id, passwd, image_type)
  - user_id is username used in slice creation.
  - passwd is password used for slice creation.
  - image_type is an integer which specifies the distribution to be loaded on the disk of the virtual machine.
	  image_type = 1 loads a Debian disk image
	  image_type = 2 loads a Ubuntu disk image
	  image_type = 3 loads a Fedora disk image
  - Return the IP of the SLICE to which the user can log into (when successful)
  - Failure returns “nok”, success returns SLICEID.

destroySLICE

This function is used to destroy instance of the SLICE for which IP is assigned; slice is destroyed only after authentication of the used_id and passwd.

destroySLICE(user_id, passwd, IP)
  - user_id is username used in slice creation.
  - passwd is password used for slice creation.
  - Returns status “ok” if command was executed correctly, “nok” otherwise.

startSLICE

This function is used to start the slice for which IP is assigned; can be invoked only after the the createSLICE() call is made and is successful only if the instance is owned by the issuing user. .

startSLICE ( SLICEID, user_id, passwd, IP)
- 	Returns status “ok” if command was executed correctly, “nok” otherwise.

stopSLICE

This function is used to stop the instance of the SLICE for which IP is assigned (SLICE instance is stopped only if the instance is owned by the issuing user).

stopSLICE ( SLICEID, user_id, passwd, IP)
- 	Returns status “ok” if command was executed correctly, “nok” otherwise.

setSLICEParams

Allows the user to set all controllable parameters for creation of SLICE. Features include the amount of disk space per SLICE template, percentage of CPU resources (number of parameters supported as a part of this API may vary with underlying virtualization technology).

setSLICEParams (SLICEID, used_id, passwd, tlv) 	
-	Successful setting returns “ok”, “nok” otherwise.

Client Control Functions

These set of functions allow the datapath controller to determine which WiMAX clients can associate with the BTS and vice-versa. These API are internal and are based on the input provided by the slice user.

addClient

This function is called by the user to add a client with MAC address MSID to the slice SliceID.

addClient (MSID, SliceID) 
-	Successful execution of this function returns “ok” from the grid service, “no” otherwise

deleteClient

Used to remove client with MAC address MSID from the slice with identifier as Slice ID.

deleteClient (MSID, SliceID)
-	Successful execution of this function returns “ok” from the grid service, “no” otherwise
Note: See TracWiki for help on using the wiki.