Class 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.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalUtil, 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 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.
      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 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)  
      static boolean isIpv6Subnet​(VirtualSubnet subnet)  
      static boolean isVmPort​(java.lang.String deviceOwner)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      com.google.common.base.Optional<T>
      read​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
      Retrieves the object from the datastore.
      void unbindIpv6Service​(java.lang.String interfaceName)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.controller.md.sal.binding.api.DataBroker broker,
                                org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalUtil,
                                Ipv6serviceConfig ipv6ServiceConfig)
    • Method Detail

      • read

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> com.google.common.base.Optional<T> read​(org.opendaylight.controller.md.sal.common.api.data.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)
      • isVmPort

        public static boolean isVmPort​(java.lang.String deviceOwner)
      • isIpv6Subnet

        public static boolean isIpv6Subnet​(VirtualSubnet subnet)