wiki:Internal/WiMAX/WiMAXAPI/bRadioMgmt

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

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. reateServiceFlow(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

Radio Management API (User Exposed)

These API define the calls that can be made by the system user for controlling radio-related features of the WiMAX system. These API are further classified based on the functionality they provide.

Custom Service Class Suport

These APIs will allow the user to create user-defined service flow types apart from the 5 standard service flows supported as a part of the current model.

reateServiceFlow(SlideID, direction, priority, classifier-ips, classifier-ports, service_type, service_params)

  • Direction – Uplink or downlink for the class.
  • Priority – priority of the service class
  • Classifier-ips TLV - Source/Destination IP classifiers for flow classification
  • Classifier-ports TLV – Source/Destination port classifiers for flow classification.
  • Service_type - One of the five types – BE/UGS/rtPS/nrtPS/ertPS
  • Service params is the TLV for each service type
  • Return type: Service type id - STID (integer) > 6. 1-5 are reserved for the default service flow types.
  • Note that the service type is created by the Radio management grid service for

a specific slice ID and hence it will be specific to that slice.

createServiceClass(SlideID,STIDs{})

  • SliceID identifies the requesting slice.
  • STIDs are the service type ids.
  • Success returns the Service class ID (SCID), which can be used in install or remove.

installServiceClass(SlideID,SCID)

  • SliceID identifies the requesting slice.
  • Installs all the service flows that are part of the service class SCID.
  • Success results in end – to – end datapath setup between wireless clients and virtual machine slice.

uninstallServiceClass(SlideID,SCID)

  • SliceID identifies the requesting slice.
  • Un-installs all the service flows that are part of the service class SCID.
  • Success returns ok and nok otherwise.

deleteServiceClass(SlideID, SCID)

  • Deletes the service class corresponding to the specification in the request.
  • Returns success if the service class could be successfully deleted (none of the

flows are actively using these service classifiers).

deleteServiceFlow(SlideID, STID)

  • Results in deletion of service flow type identified by STID if any such flow type exists.
  • Success results in “ok” and “nok” otherwise.

Slice Radio Control

setMinimalMcs(SliceID, MSID, SCID, mcs)

  • Used to set the minimal modulation and coding scheme (MCS) to be used for

that service class. An auto rate provision will select a better MCS based on the observed CINR conditions.

  • The user can chose one among available MCSs as an option for that class.
  • We are still exploring the possibility of setting this per class per MSID. As per our

current understanding, this is difficult.

setFixedMcs(SliceID, MSID, SCID, mcs)

  • Used to set a fixed MCS for a particular service class.
  • This disables the automatic MCS adjustment using measured CINR.
  • If possible we wish to set this mcs value per MSID.

setRadioResource(SliceID, MSID, RR)

  • Information provided by this function should be consulted during initial ranging and connection setup.
  • RR – Radio resource uplink + downlink (set in % - 0 to 100)

setBandwithUlDlRatio(bandwidth UL_DL_ratio)

  • Set supported bandwidth: 10M, 7.5M, 5M Hz
  • Based on RR allocation in set_radio_resource(), this routine allows the user to set

the uplink-downlink ratio as a fraction of the RR.

  • UL_DL_ratio is used as a key to select one among standard UL_DL ratio supported by the BS. All MS has to use the same ul_dl_ratio

Slice Radio Monitoring

getAllClientsInfo( SLICEID )

  • Returns the number of WiMAX clients associated with a particular SLICEID.
  • Return value ranges between 0 and maximum number of clients that can be owned by a slice on success, “nok” otherwise

getClientInfo(SLICE ID, MSID)

  • Returns detailed information about a single client in the network.
  • Information for individual MAC address includes the amount of disk quota, disk space used, and the CPU quota (reserved and used).
  • Returns XML with appropriate parameters on success, “nok” otherwise

getSliceResource(SLICEID)

  • This mechanism allows every slice to monitor its current usage, and the limits
  • Values returned may vary based on the virtualization technology used - (disk space, CPU).
  • Returns XML with appropriate parameters on success, “nok” otherwise
Note: See TracWiki for help on using the wiki.