Skip to content
  • Thomas Haller's avatar
    platform: track routes in NMFakePlatform via NMPCache · c9cd6d99
    Thomas Haller authored
    NMPlatform's cache should be directly accessible to the users,
    at least the NMPLookup part and the fact that the cache contains
    ref-counted, immutable NMPObjects.
    
    This allows users to inspect the cache with zero overhead. Meaning,
    they can obtain an NMDedupMultiHeadEntry and iterate the objects
    themself. It also means, the are free to take and keep references
    of the NMPObject instances (of course, without modifying them!).
    
    NMFakePlatform will use the very same cache. The fake platform should
    only differ when modifying the objects.
    
    Another reason why this makes sense is because NMFakePlatform is for one
    a test-stup but also tests behavior of platform itself. Using a separate
    internal implementation for the caching is a pointless excecise, because
    only the real NMPCache's implementation really matters for production.
    So, either NMFakePlatform behaves idential, or it is buggy. Reuse it.
    
    Port fake platform's tracking of routes to NMPCache and move duplicate
    code from NMLinuxPlatform to the base class.
    
    This commit only ports IP routes, eventually also addresses and links
    should be tracked via the NMPCache instance.
    c9cd6d99