com.h3c.sdn.api

## Interface RemoteControllerService

-     public interface RemoteControllerService

  Service for getting the data from the SDN OpenFlow Controller participating in the team.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `MessageFuture` | `enablePort(SystemInformation system, DataPathId dpid, BigPortNumber port, boolean enable)` Instructs the controller to enable or disable the given port on the specified datapath.
    `Set<DataPathInfo>` | `getAllDataPathInfo(SystemInformation system)` Returns information describing each of the OpenFlow datapaths currently connected to the controller running in the specified system.
    `List<Port>` | `getAllPorts(SystemInformation system, DataPathId dpid)` Returns the information from the team of controllers forming a cluster describing each of the ports currently connected for the given datapath
    `DataPathInfo` | `getDataPathInfo(SystemInformation system, DataPathId dpId)` Returns information from a particular member controller describing a specific OpenFlow datapath.
    `List<MBodyExperimenter>` | `getExperimenter(SystemInformation system, DataPathId dpId)` Lists meters from a particular member controller configured on the specified datapath.
    `List<MBodyFlowStats>` | `getFlows(SystemInformation system, DataPathId dpId, TableId tableId)` Returns the flows installed from a particular member controller in the specified table of the given datapath.
    `List<MBodyGroupDescStats>` | `getGroupDescription(SystemInformation system, DataPathId dpId)` Returns the groups description from a particular member controller configured for the specified datapath.
    `MBodyGroupDescStats` | `getGroupDescription(SystemInformation system, DataPathId dpId, GroupId groupId)` Returns the group description from a particular member controller configured on the specified datapath and groupId.
    `MBodyGroupFeatures` | `getGroupFeatures(SystemInformation system, DataPathId dpid)` Returns the supported group features for the specified datapath.
    `List<MBodyGroupStats>` | `getGroupStats(SystemInformation system, DataPathId dpId)` Returns the groups statistics from a particular member controller configured for the specified datapath.
    `MBodyGroupStats` | `getGroupStats(SystemInformation system, DataPathId dpId, GroupId groupId)` Returns the group statistics from a particular member controller configured for the specified datapath and groupId.
    `List<MBodyMeterConfig>` | `getMeterConfig(SystemInformation system, DataPathId dpId)` Lists meters configuration from a particular member controller configured on the specified datapath.
    `MBodyMeterConfig` | `getMeterConfig(SystemInformation system, DataPathId dpid, MeterId meterId)` Returns the meter configuration for the given meter ID, from the specified datapath.
    `MBodyMeterFeatures` | `getMeterFeatures(SystemInformation system, DataPathId dpid)` Returns the meter features for the specified datapath.
    `List<MBodyMeterStats>` | `getMeterStats(SystemInformation system, DataPathId dpId)` Lists meters statistic from a particular member controller configured on the specified datapath.
    `MBodyMeterStats` | `getMeterStats(SystemInformation system, DataPathId dpid, MeterId meterId)` Returns the meter statistics for the given meter ID, from a particular member controller configured on the specified datapath.
    `Port` | `getPorts(SystemInformation system, DataPathId dpid, long portid)` Returns the information from the team of controllers forming a cluster describing each of the ports currently connected for the given datapath for the given port id.
    `List<MBodyPortStats>` | `getPortStats(SystemInformation system, DataPathId dpid)` Returns the port statistics from the specified datapath.
    `MBodyPortStats` | `getPortStats(SystemInformation system, DataPathId dpid, BigPortNumber portNumber)` Returns the port statistics for the given port, from the specified datapath.
    `ControllerStats` | `getStats(SystemInformation system)` Returns statistical information about the controller.
    `List<MessageFuture>` | `send(SystemInformation system, List<OpenflowMessage> msgs, DataPathId dpId)` Instructs a particular member controller to send the specified list of messages (in order) to the specified datapath.
    `MessageFuture` | `send(SystemInformation system, OpenflowMessage msg, DataPathId dpId)` Instructs a particular member controller to send the specified message to the specified datapath.
    `MessageFuture` | `sendFlowMod(SystemInformation system, OfmFlowMod flowMod, DataPathId dpId)` Dispatches the OpenFlow FlowMod message from a particular member controller to the given datapath via the Flow Tracker.
    `MessageFuture` | `sendGroupMod(SystemInformation system, OfmGroupMod groupMod, DataPathId dpid)` Sends the given GROUP_MOD message from a particular member controller to the specified datapath.
    `MessageFuture` | `sendMeterMod(SystemInformation system, OfmMeterMod meterMod, DataPathId dpId)` Sends the OpenFlow METER_MOD message from a particular member controller to the specified datapath.

- - ### Method Detail

    - #### getAllDataPathInfo

          Set<DataPathInfo> getAllDataPathInfo(SystemInformation system)

      Returns information describing each of the OpenFlow datapaths currently connected to the controller running in the specified system.
      Parameters:
        `system` - the system information
      Returns:
        information describing all connected datapaths

    - #### getDataPathInfo

          DataPathInfo getDataPathInfo(SystemInformation system,
                                     DataPathId dpId)

      Returns information from a particular member controller describing a specific OpenFlow datapath. This may be null, if no such OpenFlow datapath is currently connected.
      Parameters:
        `system` - the system information
        `dpId` - the datapath Id
      Returns:
        information describing the corresponding datapath
      Throws:
        `NullPointerException` - if dpId is null

    - #### send

          MessageFuture send(SystemInformation system,
                           OpenflowMessage msg,
                           DataPathId dpId)
                             throws OpenflowException

      Instructs a particular member controller to send the specified message to the specified datapath.
      Parameters:
        `system` - the system information
        `msg` - the OpenFlow message to send
        `dpId` - the OpenFlow datapath to which the message is to be sent
      Returns:
        a message future
      Throws:
        `NullPointerException` - if either parameter is null
        `IllegalArgumentException` - if msg is mutable, or if it is a FlowMod
        `OpenflowException` - if there was a problem encoding or sending the message

    - #### send

          List<MessageFuture> send(SystemInformation system,
                                 List<OpenflowMessage> msgs,
                                 DataPathId dpId)
                                   throws OpenflowException

      Instructs a particular member controller to send the specified list of messages (in order) to the specified datapath.
      Parameters:
        `system` - the system information
        `msgs` - the OpenFlow messages to send
        `dpId` - the OpenFlow datapath to which the messages are to be sent
      Returns:
        a list of message futures
      Throws:
        `NullPointerException` - if either parameter is null, or if any element in the list is null
        `IllegalArgumentException` - if any message in the list is mutable, or is a FlowMod
        `OpenflowException` - if there was a problem encoding or sending the messages

    - #### getFlows

          List<MBodyFlowStats> getFlows(SystemInformation system,
                                      DataPathId dpId,
                                      TableId tableId)

      Returns the flows installed from a particular member controller in the specified table of the given datapath.
      Parameters:
        `system` - the system information
        `dpId` - the datapath from which the flows are requested
        `tableId` - the Id of the flow table
      Returns:
        the list of flow statistics entries
      Throws:
        `NullPointerException` - if dpId is null

    - #### sendFlowMod

          MessageFuture sendFlowMod(SystemInformation system,
                                  OfmFlowMod flowMod,
                                  DataPathId dpId)
                                    throws OpenflowException

      Dispatches the OpenFlow FlowMod message from a particular member controller to the given datapath via the Flow Tracker.
      Parameters:
        `system` - the system information
        `flowMod` - the FlowMod message to send
        `dpId` - the target datapath
      Returns:
        a message future
      Throws:
        `NullPointerException` - if flowMod or dpId is null
        `IllegalArgumentException` - if the message is mutable
        `OpenflowException` - if there was a problem encoding or sending the message

    - #### getMeterStats

          List<MBodyMeterStats> getMeterStats(SystemInformation system,
                                            DataPathId dpId)

      Lists meters statistic from a particular member controller configured on the specified datapath.
      Parameters:
        `system` - the system information
        `dpId` - the target datapath
      Returns:
        the list of meter descriptions
      Throws:
        `NullPointerException` - if dpId is null

    - #### getMeterStats

          MBodyMeterStats getMeterStats(SystemInformation system,
                                      DataPathId dpid,
                                      MeterId meterId)

      Returns the meter statistics for the given meter ID, from a particular member controller configured on the specified datapath.
      Parameters:
        `system` - the system information
        `dpid` - the target datapath
        `meterId` - the target meter ID
      Returns:
        the meter statistics
      Throws:
        `NullPointerException` - if either parameter is null
        `NotFoundException` - if the specified datapath or meter does not exist

    - #### getMeterConfig

          List<MBodyMeterConfig> getMeterConfig(SystemInformation system,
                                              DataPathId dpId)

      Lists meters configuration from a particular member controller configured on the specified datapath.
      Parameters:
        `system` - the system information
        `dpId` - the target datapath
      Returns:
        the list of meter configurations
      Throws:
        `NullPointerException` - if dpId is null

    - #### getMeterConfig

          MBodyMeterConfig getMeterConfig(SystemInformation system,
                                        DataPathId dpid,
                                        MeterId meterId)

      Returns the meter configuration for the given meter ID, from the specified datapath.
      Parameters:
        `system` - the system information
        `dpid` - the target datapath
        `meterId` - the ID of the meter
      Returns:
        the meter configuration
      Throws:
        `NullPointerException` - if either parameter is null
        `NotFoundException` - if the specified datapath or meter does not exist

    - #### getExperimenter

          List<MBodyExperimenter> getExperimenter(SystemInformation system,
                                                DataPathId dpId)

      Lists meters from a particular member controller configured on the specified datapath.
      Parameters:
        `system` - the system information
        `dpId` - the target datapath
      Returns:
        the list of experimenter configurations
      Throws:
        `NullPointerException` - if dpId is null

    - #### sendMeterMod

          MessageFuture sendMeterMod(SystemInformation system,
                                   OfmMeterMod meterMod,
                                   DataPathId dpId)
                                     throws OpenflowException

      Sends the OpenFlow METER_MOD message from a particular member controller to the specified datapath.
      Parameters:
        `system` - the system information
        `meterMod` - OpenFlow METER_MOD message to datapath
        `dpId` - the target datapath
      Returns:
        a message future
      Throws:
        `NullPointerException` - if dpId or groupMod is null
        `OpenflowException` - if there was a problem sending the METER_MOD message
        `IllegalArgumentException` - if meterMod is mutable

    - #### getGroupDescription

          MBodyGroupDescStats getGroupDescription(SystemInformation system,
                                                DataPathId dpId,
                                                GroupId groupId)

      Returns the group description from a particular member controller configured on the specified datapath and groupId.
      Parameters:
        `system` - the system information
        `dpId` - the target datapath
        `groupId` - the Id of the group
      Returns:
        group description statistics
      Throws:
        `NullPointerException` - if dpId is null
        `VersionNotSupportedException` - if datapath is not OpenFlow 1.3 complaint

    - #### getGroupDescription

          List<MBodyGroupDescStats> getGroupDescription(SystemInformation system,
                                                      DataPathId dpId)

      Returns the groups description from a particular member controller configured for the specified datapath.
      Parameters:
        `system` - the system information
        `dpId` - the target datapath
      Returns:
        the list of group description statistics
      Throws:
        `NullPointerException` - if dpId is null
        `VersionNotSupportedException` - if datapath is not OpenFlow 1.3 complaint

    - #### getGroupStats

          MBodyGroupStats getGroupStats(SystemInformation system,
                                      DataPathId dpId,
                                      GroupId groupId)

      Returns the group statistics from a particular member controller configured for the specified datapath and groupId.
      Parameters:
        `system` - the system information
        `dpId` - the target datapath
        `groupId` - the Id of the group
      Returns:
        group statistics object
      Throws:
        `NullPointerException` - if dpId is null
        `VersionNotSupportedException` - if datapath is not OpenFlow 1.3 complaint

    - #### getGroupStats

          List<MBodyGroupStats> getGroupStats(SystemInformation system,
                                            DataPathId dpId)

      Returns the groups statistics from a particular member controller configured for the specified datapath.
      Parameters:
        `system` - the system information
        `dpId` - the target datapath
      Returns:
        the list of group statistics
      Throws:
        `NullPointerException` - if dpId is null
        `VersionNotSupportedException` - if datapath is not OpenFlow 1.3 complaint

    - #### sendGroupMod

          MessageFuture sendGroupMod(SystemInformation system,
                                   OfmGroupMod groupMod,
                                   DataPathId dpid)
                                     throws OpenflowException

      Sends the given GROUP_MOD message from a particular member controller to the specified datapath.
      Parameters:
        `system` - the system information
        `groupMod` - OpenFlow GROUP_MOD message to datapath
        `dpid` - the target datapath
      Returns:
        a message future
      Throws:
        `NullPointerException` - if dpid or groupMod is null
        `IllegalArgumentException` - if groupMod is mutable
        `OpenflowException` - if there was a problem sending the GROUP_MOD message

    - #### getPorts

          Port getPorts(SystemInformation system,
                      DataPathId dpid,
                      long portid)

      Returns the information from the team of controllers forming a cluster describing each of the ports currently connected for the given datapath for the given port id.
      Parameters:
        `system` - the system information
        `dpid` - the target datapath
        `portid` - the id of the port.
      Returns:
        information describing port.

    - #### getAllPorts

          List<Port> getAllPorts(SystemInformation system,
                               DataPathId dpid)

      Returns the information from the team of controllers forming a cluster describing each of the ports currently connected for the given datapath
      Parameters:
        `system` - the system information
        `dpid` - the target datapath
      Returns:
        information describing all ports.

    - #### getStats

          ControllerStats getStats(SystemInformation system)

      Returns statistical information about the controller.
      Parameters:
        `system` - the system information
      Returns:
        controller statistics

    - #### getPortStats

          List<MBodyPortStats> getPortStats(SystemInformation system,
                                          DataPathId dpid)

      Returns the port statistics from the specified datapath.

      Note that this is a synchronous call that blocks until all the port statistics replies have returned from the datapath.

      Parameters:
        `system` - target system
        `dpid` - the target datapath
      Returns:
        the list of port statistics
      Throws:
        `NullPointerException` - if dpid is null
        `NotFoundException` - if the specified datapath does not exist

    - #### getPortStats

          MBodyPortStats getPortStats(SystemInformation system,
                                    DataPathId dpid,
                                    BigPortNumber portNumber)

      Returns the port statistics for the given port, from the specified datapath.

      Note that this is a synchronous call that blocks until the port statistics reply has returned from the datapath.

      Parameters:
        `system` - target system
        `dpid` - the target datapath
        `portNumber` - the target port
      Returns:
        the port statistics
      Throws:
        `NullPointerException` - if dpid is null
        `NotFoundException` - if the specified datapath does not exist or the specified port does not exist on the datapath

    - #### getGroupFeatures

          MBodyGroupFeatures getGroupFeatures(SystemInformation system,
                                            DataPathId dpid)

      Returns the supported group features for the specified datapath.

      Note that this is a synchronous call that blocks until the group features reply has returned from the datapath.

      Parameters:
        `system` - target system
        `dpid` - the target datapath
      Returns:
        the group features
      Throws:
        `NullPointerException` - if dpid id null
        `NotFoundException` - if the specified datapath does not exist
        `VersionMismatchException` - if datapath is not OpenFlow 1.3 compliant

    - #### getMeterFeatures

          MBodyMeterFeatures getMeterFeatures(SystemInformation system,
                                            DataPathId dpid)

      Returns the meter features for the specified datapath.

      Note that this is a synchronous call that blocks until the meter features reply has returned from the datapath.

      Parameters:
        `system` - target system
        `dpid` - the target datapath
      Returns:
        the meter features
      Throws:
        `NullPointerException` - if dpid is null
        `NotFoundException` - if the specified datapath does not exist
        `VersionMismatchException` - if datapath is not OpenFlow 1.3 compliant

    - #### enablePort

          MessageFuture enablePort(SystemInformation system,
                                 DataPathId dpid,
                                 BigPortNumber port,
                                 boolean enable)

      Instructs the controller to enable or disable the given port on the specified datapath. A message future is returned, to allow the caller to discover the outcome of the request once it has been satisfied.
      Parameters:
        `system` - target system
        `dpid` - the target datapath
        `port` - the target port
        `enable` - true to enable; false to disable
      Returns:
        a message future
      Throws:
        `NullPointerException` - if either parameter is null
        `NotFoundException` - if the specified datapath does not exist or the specified port does not exist on the datapath

Copyright © 2014. All Rights Reserved.