Class Ipv6ServiceUtils
- java.lang.Object
-
- org.opendaylight.netvirt.ipv6service.utils.Ipv6ServiceUtils
-
@Singleton public class Ipv6ServiceUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address
ALL_NODES_MCAST_ADDR
static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address
UNSPECIFIED_ADDR
-
Constructor Summary
Constructors Constructor Description Ipv6ServiceUtils(org.opendaylight.mdsal.binding.api.DataBroker broker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalUtil, IpV6NAConfigHelper ipV6NAConfigHelper, Ipv6serviceConfig ipv6ServiceConfig)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bindIpv6Service(java.lang.String interfaceName, java.lang.Long elanTag, short tableId)
static java.lang.String
buildIpv6MonitorJobKey(java.lang.String ip)
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface>
buildStateInterfaceId(java.lang.String interfaceName)
Build the interface state.org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info.BoundServices
getBoundServices(java.lang.String serviceName, short servicePriority, int flowPriority, org.opendaylight.yangtools.yang.common.Uint64 cookie, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction> instructions)
@Nullable org.opendaylight.yangtools.yang.common.Uint64
getDpIdFromInterfaceState(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState)
static org.opendaylight.yangtools.yang.common.Uint64
getDpnIdFromNodeConnectorId(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId nodeConnectorId)
@Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface
getInterface(java.lang.String interfaceName)
Retrieves the Interface from the datastore.static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface>
getInterfaceIdentifier(java.lang.String interfaceName)
Builds the interface identifier.@Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface
getInterfaceStateFromOperDS(java.lang.String interfaceName)
Retrieves the interface state.org.opendaylight.genius.mdsalutil.ActionInfo
getLearnActionForNsDrop(java.lang.Long hardTimeoutinMs)
static long
getRemoteBCGroup(long elanTag)
void
installIcmpv6NaForwardFlow(short tableId, IVirtualPort vmPort, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int addOrRemove)
void
installIcmpv6NaPuntFlow(short tableId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int addOrRemove)
void
installIcmpv6NaResponderFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int lportTag, IVirtualPort intf, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ndTargetAddr, java.lang.String rtrIntMacAddress, int addOrRemove, org.opendaylight.genius.infra.TypedReadWriteTransaction tx, java.lang.Boolean isTllOptionSet)
void
installIcmpv6NsDefaultPuntFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address, int addOrRemove, org.opendaylight.genius.infra.TypedReadWriteTransaction tx)
void
installIcmpv6NsPuntFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address, int addOrRemove)
void
installIcmpv6RsPuntFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int addOrRemove)
void
instIcmpv6NsMatchFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int lportTag, java.lang.String vmMacAddress, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ndTargetAddr, int addOrRemove, org.opendaylight.genius.infra.TypedReadWriteTransaction tx, java.lang.Boolean isSllOptionSet)
static boolean
isIpv6Subnet(VirtualSubnet subnet)
static boolean
isVmPort(java.lang.String deviceOwner)
<T extends org.opendaylight.yangtools.yang.binding.DataObject>
java.util.Optional<T>read(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
Retrieves the object from the datastore.void
unbindIpv6Service(java.lang.String interfaceName)
-
-
-
Field Detail
-
ALL_NODES_MCAST_ADDR
public static final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ALL_NODES_MCAST_ADDR
-
UNSPECIFIED_ADDR
public static final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address UNSPECIFIED_ADDR
-
-
Constructor Detail
-
Ipv6ServiceUtils
@Inject public Ipv6ServiceUtils(org.opendaylight.mdsal.binding.api.DataBroker broker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalUtil, IpV6NAConfigHelper ipV6NAConfigHelper, Ipv6serviceConfig ipv6ServiceConfig)
-
-
Method Detail
-
read
public <T extends org.opendaylight.yangtools.yang.binding.DataObject> java.util.Optional<T> read(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
Retrieves the object from the datastore.- Parameters:
datastoreType
- the data store type.path
- the wild card path.- Returns:
- the required object.
-
getInterface
public @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface getInterface(java.lang.String interfaceName)
Retrieves the Interface from the datastore.- Parameters:
interfaceName
- the interface name- Returns:
- the interface.
-
getInterfaceIdentifier
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface> getInterfaceIdentifier(java.lang.String interfaceName)
Builds the interface identifier.- Parameters:
interfaceName
- the interface name.- Returns:
- the interface identifier.
-
buildStateInterfaceId
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface> buildStateInterfaceId(java.lang.String interfaceName)
Build the interface state.- Parameters:
interfaceName
- the interface name.- Returns:
- the interface state.
-
getInterfaceStateFromOperDS
public @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface getInterfaceStateFromOperDS(java.lang.String interfaceName)
Retrieves the interface state.- Parameters:
interfaceName
- the interface name.- Returns:
- the interface state.
-
installIcmpv6NsPuntFlow
public void installIcmpv6NsPuntFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address, int addOrRemove)
-
installIcmpv6RsPuntFlow
public void installIcmpv6RsPuntFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int addOrRemove)
-
installIcmpv6NaForwardFlow
public void installIcmpv6NaForwardFlow(short tableId, IVirtualPort vmPort, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int addOrRemove)
-
installIcmpv6NaPuntFlow
public void installIcmpv6NaPuntFlow(short tableId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int addOrRemove)
-
getBoundServices
public org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info.BoundServices getBoundServices(java.lang.String serviceName, short servicePriority, int flowPriority, org.opendaylight.yangtools.yang.common.Uint64 cookie, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction> instructions)
-
bindIpv6Service
public void bindIpv6Service(java.lang.String interfaceName, java.lang.Long elanTag, short tableId)
-
unbindIpv6Service
public void unbindIpv6Service(java.lang.String interfaceName)
-
getDpIdFromInterfaceState
public @Nullable org.opendaylight.yangtools.yang.common.Uint64 getDpIdFromInterfaceState(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState)
-
getDpnIdFromNodeConnectorId
public static org.opendaylight.yangtools.yang.common.Uint64 getDpnIdFromNodeConnectorId(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId nodeConnectorId)
-
getRemoteBCGroup
public static long getRemoteBCGroup(long elanTag)
-
buildIpv6MonitorJobKey
public static java.lang.String buildIpv6MonitorJobKey(java.lang.String ip)
-
isVmPort
public static boolean isVmPort(java.lang.String deviceOwner)
-
isIpv6Subnet
public static boolean isIpv6Subnet(VirtualSubnet subnet)
-
getLearnActionForNsDrop
public org.opendaylight.genius.mdsalutil.ActionInfo getLearnActionForNsDrop(java.lang.Long hardTimeoutinMs)
-
instIcmpv6NsMatchFlow
public void instIcmpv6NsMatchFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int lportTag, java.lang.String vmMacAddress, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ndTargetAddr, int addOrRemove, org.opendaylight.genius.infra.TypedReadWriteTransaction tx, java.lang.Boolean isSllOptionSet) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
installIcmpv6NaResponderFlow
public void installIcmpv6NaResponderFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, int lportTag, IVirtualPort intf, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ndTargetAddr, java.lang.String rtrIntMacAddress, int addOrRemove, org.opendaylight.genius.infra.TypedReadWriteTransaction tx, java.lang.Boolean isTllOptionSet) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
installIcmpv6NsDefaultPuntFlow
public void installIcmpv6NsDefaultPuntFlow(short tableId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long elanTag, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address, int addOrRemove, org.opendaylight.genius.infra.TypedReadWriteTransaction tx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
-