Interface ItmRpcService

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.RpcService
    All Known Implementing Classes:
    ItmManagerRpcService, ItmRpcTestImpl

    public interface ItmRpcService
    extends org.opendaylight.yangtools.yang.binding.RpcService
    Interface for implementing the following YANG RPCs defined in module itm-rpc
     rpc get-tunnel-interface-name {
       input input {
         leaf source-dpid {
           type uint64;
         }
         leaf destination-dpid {
           type uint64;
         }
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
       output output {
         leaf interface-name {
           type string;
         }
       }
     }
     rpc get-internal-or-external-interface-name {
       input input {
         leaf source-dpid {
           type uint64;
         }
         leaf destination-ip {
           type inet:ip-address;
         }
         leaf destination-dpid {
           type uint64;
         }
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
       output output {
         leaf interface-name {
           type string;
         }
       }
     }
     rpc get-external-tunnel-interface-name {
       input input {
         leaf source-node {
           type string;
         }
         leaf destination-node {
           type string;
         }
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
       output output {
         leaf interface-name {
           type string;
         }
       }
     }
     rpc build-external-tunnel-from-dpns {
       input input {
         leaf-list dpn-id {
           type uint64;
         }
         leaf destination-ip {
           type inet:ip-address;
         }
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
     }
     rpc add-external-tunnel-endpoint {
       input input {
         leaf destination-ip {
           type inet:ip-address;
         }
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
     }
     rpc remove-external-tunnel-from-dpns {
       input input {
         leaf-list dpn-id {
           type uint64;
         }
         leaf destination-ip {
           type inet:ip-address;
         }
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
     }
     rpc remove-external-tunnel-endpoint {
       input input {
         leaf destination-ip {
           type inet:ip-address;
         }
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
     }
     rpc create-terminating-service-actions {
       input input {
         leaf dpn-id {
           type uint64;
         }
         leaf service-id {
           type uint16;
         }
         uses offlow:instruction-list;
       }
     }
     rpc remove-terminating-service-actions {
       input input {
         leaf dpn-id {
           type uint64;
         }
         leaf service-id {
           type uint16;
         }
       }
     }
     rpc add-l2-gw-device {
       input input {
         leaf topology-id {
           type string;
         }
         leaf node-id {
           type string;
         }
         leaf ip-address {
           type inet:ip-address;
         }
       }
     }
     rpc add-l2-gw-mlag-device {
       input input {
         leaf topology-id {
           type string;
         }
         leaf-list node-id {
           type string;
         }
         leaf ip-address {
           type inet:ip-address;
         }
       }
     }
     rpc delete-l2-gw-device {
       input input {
         leaf topology-id {
           type string;
         }
         leaf node-id {
           type string;
         }
         leaf ip-address {
           type inet:ip-address;
         }
       }
     }
     rpc delete-l2-gw-mlag-device {
       input input {
         leaf topology-id {
           type string;
         }
         leaf-list node-id {
           type string;
         }
         leaf ip-address {
           type inet:ip-address;
         }
       }
     }
     rpc is-tunnel-internal-or-external {
       input input {
         leaf tunnel-interface-name {
           type string;
         }
       }
       output output {
         leaf tunnel-type {
           type uint32;
         }
       }
     }
     rpc is-dcgw-present {
       input input {
         leaf dcgw-ip {
           type string;
         }
       }
       output output {
         leaf retVal {
           type uint32;
         }
       }
     }
     rpc get-dpn-endpoint-ips {
       input input {
         leaf source-dpid {
           type uint64;
         }
       }
       output output {
         leaf-list nexthopip-list {
           type inet:ip-address;
         }
       }
     }
     rpc get-egress-actions-for-tunnel {
       input input {
         leaf intf-name {
           type string;
         }
         leaf tunnel-key {
           type uint32;
           mandatory false;
         }
         leaf action-key {
           type int32;
           mandatory false;
         }
       }
       output output {
         uses action:action-list;
       }
     }
     rpc get-tunnel-type {
       input input {
         leaf intf-name {
           type string;
         }
       }
       output output {
         leaf tunnel-type {
           type identityref {
             base tunnel-type-base;
           }
         }
       }
     }
     rpc set-bfd-param-on-tunnel {
       input input {
         leaf source-node {
           type string;
         }
         leaf destination-node {
           type string;
         }
         leaf monitoring-enabled {
           type boolean;
         }
         leaf monitoring-interval {
           type uint16 {
             range 1000..30000;
           }
         }
       }
     }
     rpc get-dpn-info {
       input input {
         leaf-list compute-names {
           type string;
         }
       }
       output output {
         list computes {
           key compute-name;
           leaf compute-name {
             type string;
           }
           leaf zone-name {
             type string;
           }
           leaf prefix {
             type inet:ip-prefix;
           }
           leaf dpn-id {
             type uint64;
           }
           leaf-list tep-ip {
             type inet:ip-address;
           }
           leaf port-name {
             type string;
           }
           leaf node-id {
             type string;
           }
         }
       }
     }
     rpc get-watch-port-for-tunnel {
       input input {
         leaf source-node {
           type string;
         }
         leaf destination-node {
           type string;
         }
       }
       output output {
         leaf port-no {
           type uint32;
         }
         leaf portname {
           type string;
         }
       }
     }
     
    • Method Detail

      • getTunnelInterfaceName

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetTunnelInterfaceNameOutput>> getTunnelInterfaceName​(GetTunnelInterfaceNameInput input)
        used to retrieve tunnel interface id between Dpns
      • addExternalTunnelEndpoint

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddExternalTunnelEndpointOutput>> addExternalTunnelEndpoint​(AddExternalTunnelEndpointInput input)
        used for building tunnels between teps on all Dpns and external node
      • addL2GwDevice

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddL2GwDeviceOutput>> addL2GwDevice​(AddL2GwDeviceInput input)
        used for building tunnels between teps on all Dpns and hwVtep
      • addL2GwMlagDevice

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<AddL2GwMlagDeviceOutput>> addL2GwMlagDevice​(AddL2GwMlagDeviceInput input)
        used for building tunnels between teps on all Dpns and hwVtep
      • deleteL2GwDevice

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<DeleteL2GwDeviceOutput>> deleteL2GwDevice​(DeleteL2GwDeviceInput input)
        used for deleting tunnels between teps on all Dpns and hwVtep
      • deleteL2GwMlagDevice

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<DeleteL2GwMlagDeviceOutput>> deleteL2GwMlagDevice​(DeleteL2GwMlagDeviceInput input)
        used for deleting tunnels between teps on all Dpns and hwVtep
      • isTunnelInternalOrExternal

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<IsTunnelInternalOrExternalOutput>> isTunnelInternalOrExternal​(IsTunnelInternalOrExternalInput input)
        Used for determining whether tunnel is an internal or an external tunnel
      • isDcgwPresent

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<IsDcgwPresentOutput>> isDcgwPresent​(IsDcgwPresentInput input)
        Used for determining whether tunnel is an internal or an external tunnel
      • getDpnEndpointIps

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetDpnEndpointIpsOutput>> getDpnEndpointIps​(GetDpnEndpointIpsInput input)
        used to retrieve tunnel end point IPs of a Dpn
      • getEgressActionsForTunnel

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetEgressActionsForTunnelOutput>> getEgressActionsForTunnel​(GetEgressActionsForTunnelInput input)
        used to retrieve group actions to use from interface name
      • getTunnelType

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetTunnelTypeOutput>> getTunnelType​(GetTunnelTypeInput input)
        to get the type of the tunnel interface(vxlan, vxlan-gpe, gre, etc.)
      • setBfdParamOnTunnel

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<SetBfdParamOnTunnelOutput>> setBfdParamOnTunnel​(SetBfdParamOnTunnelInput input)
        used for turning ON/OFF to monitor individual tunnels
      • getDpnInfo

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetDpnInfoOutput>> getDpnInfo​(GetDpnInfoInput input)
        Gets the dpn id and tep ip information of compute nodes
      • getWatchPortForTunnel

        @CheckReturnValue
        com.google.common.util.concurrent.ListenableFuture<org.opendaylight.yangtools.yang.common.RpcResult<GetWatchPortForTunnelOutput>> getWatchPortForTunnel​(GetWatchPortForTunnelInput input)
        retrieve the watch port for the BFD enabled point to point tunnel