Interface ILispMapCache

  • All Superinterfaces:
    IMapCache
    All Known Implementing Classes:
    SimpleMapCache

    public interface ILispMapCache
    extends IMapCache
    LISP southbound control protocol specific additions to the map-cache interface.
    Author:
    Lorand Jakab
    • Method Detail

      • addMapping

        void addMapping​(Eid key,
                        java.lang.Object value,
                        java.util.Set<IpAddressBinary> sourceRlocs)
        Add mapping.
        Parameters:
        key - Key of the mapping
        value - Mapping to be stored
        sourceRlocs - The set of RLOCs from all registrations. Used for merging
      • addMapping

        void addMapping​(Eid key,
                        XtrId xtrId,
                        java.lang.Object value)
        Add mapping.
        Parameters:
        key - Key of the mapping
        xtrId - xTR-ID of the mapping
        value - Mapping to be stored
      • getMapping

        java.lang.Object getMapping​(Eid key,
                                    XtrId xtrId)
        Retrieves mapping for the provided srcKey, dstKey and a XtrId.
        Parameters:
        key - Key to be looked up
        xtrId - xTR-ID for which look-up to be done
        Returns:
        Returns the mapping found in the cache
      • removeMapping

        void removeMapping​(Eid key,
                           XtrId xtrId)
        Remove mapping.
        Parameters:
        key - Key to be removed
        xtrId - xTR-ID of the mapping to be removed
      • getAllXtrIdMappings

        java.util.List<java.lang.Object> getAllXtrIdMappings​(Eid key)
        Retrieve all xTR-ID sub-mappings for an EID. Used for merging logic.
        Parameters:
        key - Key to be looked up
        Returns:
        The list of Objects which should be mappings
      • removeXtrIdMappings

        void removeXtrIdMappings​(Eid key,
                                 java.util.List<XtrId> xtrIds)
        Batch remove several xTR-ID sub-mappings under a certain key.

        This is a performance optimization, since interactive calls to removeMapping() would result in LPM lookups of the key for each call. With this method, only one such lookup is performed.

        Parameters:
        key - Key to be looked up
        xtrIds - List of xTR-IDs that need to be removed
      • getCoveringLessSpecific

        Eid getCoveringLessSpecific​(Eid key)
        Look up the covering prefix for the argument, but exclude the argument itself, so the result is always less specific than the lookup key.
        Parameters:
        key - The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.
        Returns:
        The covering prefix.
      • getParentPrefix

        Eid getParentPrefix​(Eid key)
        Returns the parent prefix for given key.
        Parameters:
        key - The key for which parent is to be returned.
        Returns:
        The parent prefix of a specific key.
      • getSiblingPrefix

        Eid getSiblingPrefix​(Eid key)
        Returns the sibling prefix for given key.
        Parameters:
        key - The key for which sibling is to be returned.
        Returns:
        The sibling prefix of a specific key.
      • getVirtualParentSiblingPrefix

        Eid getVirtualParentSiblingPrefix​(Eid key)
        Returns the virtual parent sibling prefix for given key.
        Parameters:
        key - The key for which virtual parent sibling is to be returned.
        Returns:
        The virtual parent sibling prefix of a specific key.