wiki:Old/WiMAX/02
close Warning: Can't synchronize with repository "(default)" (/common/SVN/wimax does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 19 (modified by hmussman, 13 years ago) ( diff )

3. Software

ASN-GW Controller

Three components:

  • trapctrl - used for (snmp) alerts management
  • epctrl - Daemon process that is in charge of R6 interface datapath.
  • asnctrl - Daemon process that is in charge of R6 control functions.

Create Debian Package
Create Package Site

Data Path Module

Click Modular Router

Open Flow Switch

Control Module

Simple Authorization Manager (SAM)

WiMAX RF Aggregate Manager

KVM Virtual Machines

VM Aggregate Manager

Accessibility

Running on: cons-wm-02 Base URL: http://wm-asngw-02:5012/wimaxcl/

Functions supported

root@cons-wm-02:/usr/lib/ruby/1.8/omf-aggmgr/ogs_wimaxvm

<?xml version='1.0'?>
<services><serviceGroup name='wimaxvm' prefix='/wimaxvm'><info>Service to control virtual machines</info>

<service name='addclient'>
<info>Service to Add a wimax client</info><args><arg name='clientmac' isRequired='true' value='clientmac'><info>MAC address of the client</info></arg><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service>

<service name='create'>
<info>Service to create a VM</info><args><arg name='mac' isRequired='true' value='mac'><info>MAC address of the vm</info></arg><arg name='ip' isRequired='true' value='ip'><info>IP address of the vm</info></arg><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service>

<service name='initvms'/><service name='start'><info>Service to start a VM</info><args><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service><service name='startshaping'><info>Service to start vnts controller</info>
</service>

<service name='stop'>
<info>Service to stop a VM</info><args><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args>
</service><service name='stopshaping'><info>Stop shaping scrip
t</info></service><service name='vmlist'><info>List all  VMs</info></service>


<service name='vmstat'>
<info>Service to query info from a VM</info><args><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service></serviceGroup></services>

Sample Queries and corresponding outputs

1) To initialize the service.

  • Checks for the number of running VMs, populates MAC list and also assigns VLAN ids.
  • Is also supposed to send the VLAN information to the server on ASN-GW
    wget http://wm-asngw-02:5012/wimaxvm/initvms
    
    
    vm30 VLANid  7         mac address='52:52:52:52:52:52'/
    vm7 VLANid  2         mac address='52:54:00:1c:00:cb'/
    vm10 VLANid  6         mac address='54:52:00:2c:05:7a'/
    vm55 VLANid  3         mac address='01:23:45:67:89:ab'/
    vm57 VLANid  4         mac address='01:32:54:67:98:ba'/
    vm58 VLANid  5         mac address='01:65:23:67:98:ba'/
    vm5 VLANid  0         mac address='52:54:00:2a:85:b6'/
    vm6 VLANid  1         mac address='52:54:00:34:aa:a3'/
    

2) Start VM

  • Start vm, assign vlan tag and send info to server on ASNGW
  • Socket part is yet to be integrated
     http://wm-asngw-02:5012/wimaxvm/start/?vmname=vm30
    Domain vm30 started  with vlan tag 9
    

3) Stop VM

  • Similar to start VM, but does exactly the opposite
     http://wm-asngw-02:5012/wimaxvm/stop/?vmname=vm8
    Domain vm8 destroyed
    

4) Get statistics about a VM

  • Gets all relavent information for a particular VM name
    http://wm-asngw-02:5012/wimaxvm/vmstat/?vmname=vm8
    <domain type='kvm' id='40'>
      <name>vm30</name>
      <uuid>94c79efa-01b1-64e7-3bd7-2baedd3cfb1a</uuid>
      <memory>262144</memory>
      <currentMemory>262144</currentMemory>
      <vcpu>1</vcpu>
      <os>
        <type arch='i686' machine='pc'>hvm</type>
        <boot dev='hd'/>
      </os>
      <features>
        <acpi/>
      </features>
      <clock offset='utc'/>
      <on_poweroff>destroy</on_poweroff>
      <on_reboot>restart</on_reboot>
      <on_crash>destroy</on_crash>
      <devices>
        <emulator>/usr/bin/kvm</emulator>
        <disk type='file' device='disk'>
          <source file='/home/native/vm30/disk0.qcow2'/>
          <target dev='hda' bus='ide'/>
        </disk>
        <interface type='network'>
          <mac address='52:52:52:52:52:52'/>
          <source network='default'/>
          <target dev='vnet6'/>
          <model type='virtio'/>
        </interface>
        <input type='mouse' bus='ps2'/>
        <graphics type='vnc' port='5905' autoport='yes' listen='127.0.0.1'/>
      </devices>
    </domain>
    

5) Get VM list

  • Useful for an admin and gives a list of all VMs.
  • Format is vmname, Vlanid, vm-mac-addr.
     http://wm-asngw-02:5012/wimaxvm/vmlist
    
    vm30 VLANid  7         mac address='52:52:52:52:52:52'/
    vm7 VLANid  2         mac address='52:54:00:1c:00:cb'/
    vm10 VLANid  6         mac address='54:52:00:2c:05:7a'/
    vm55 VLANid  3         mac address='01:23:45:67:89:ab'/
    vm57 VLANid  4         mac address='01:32:54:67:98:ba'/
    vm58 VLANid  5         mac address='01:65:23:67:98:ba'/
    vm5 VLANid  0         mac address='52:54:00:2a:85:b6'/
    vm6 VLANid  1         mac address='52:54:00:34:aa:a3'/
    
Note: See TracWiki for help on using the wiki.