/* | |
* Copyright 2015 Open Networking Laboratory | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package org.onosproject.vtnrsc; | |
import java.util.Collection; | |
import java.util.Set; | |
import org.onlab.packet.MacAddress; | |
import org.onosproject.net.DeviceId; | |
/** | |
* Representation of the VirtualPort. | |
*/ | |
public interface VirtualPort { | |
/** | |
* Coarse classification of the type of the virtual port. | |
*/ | |
public enum State { | |
/** | |
* Signifies that a virtualPort is currently active,This state mean that | |
* this virtualPort is available. | |
*/ | |
ACTIVE, | |
/** | |
* Signifies that a virtualPort is currently unavailable. | |
*/ | |
DOWN; | |
} | |
/** | |
* Returns the virtualPort identifier. | |
* | |
* @return virtualPort identifier | |
*/ | |
VirtualPortId portId(); | |
/** | |
* Returns the network identifier. | |
* | |
* @return tenantNetwork identifier | |
*/ | |
TenantNetworkId networkId(); | |
/** | |
* Returns the symbolic name for the virtualPort. | |
* | |
* @return virtualPort name | |
*/ | |
String name(); | |
/** | |
* Returns the administrative status of the port,which is up(true) or | |
* down(false). | |
* | |
* @return true if the administrative status of the port is up | |
*/ | |
boolean adminStateUp(); | |
/** | |
* Returns the state. | |
* | |
* @return state | |
*/ | |
State state(); | |
/** | |
* Returns the MAC address. | |
* | |
* @return MAC Address | |
*/ | |
MacAddress macAddress(); | |
/** | |
* Returns the port tenantId. | |
* | |
* @return port tenantId | |
*/ | |
TenantId tenantId(); | |
/** | |
* Returns the device identifier. | |
* | |
* @return deviceId | |
*/ | |
DeviceId deviceId(); | |
/** | |
* Returns the identifier of the entity that uses this port. | |
* | |
* @return deviceOwner | |
*/ | |
String deviceOwner(); | |
/** | |
* Returns the virtualPort allowedAddressPairs. | |
* | |
* @return virtualPort allowedAddressPairs | |
*/ | |
Collection<AllowedAddressPair> allowedAddressPairs(); | |
/** | |
* Returns set of IP addresses for the port, include the IP addresses and subnet | |
* identity. | |
* | |
* @return FixedIps Set of fixedIp | |
*/ | |
Set<FixedIp> fixedIps(); | |
/** | |
* Returns the virtualPort bindinghostId. | |
* | |
* @return virtualPort bindinghostId | |
*/ | |
BindingHostId bindingHostId(); | |
/** | |
* Returns the virtualPort bindingVnicType. | |
* | |
* @return virtualPort bindingVnicType | |
*/ | |
String bindingVnicType(); | |
/** | |
* Returns the virtualPort bindingVifType. | |
* | |
* @return virtualPort bindingVifType | |
*/ | |
String bindingVifType(); | |
/** | |
* Returns the virtualPort bindingvifDetail. | |
* | |
* @return virtualPort bindingvifDetail | |
*/ | |
String bindingVifDetails(); | |
/** | |
* Returns the security groups. | |
* | |
* @return port security groups | |
*/ | |
Iterable<SecurityGroup> securityGroups(); | |
} |