Separate authentication key in-memory storage
Authentication key operations (add/get/remove) are part of the IMapCache
interface, so all map-caches implement them, even though we only really
use them in SimpleMapCache. This makes map-caches less "general", in the
sense that they need to be aware of the AuthenticationKey type, and we
have unused code.
This patch creates a new IAuthKeyDb interface and the AuthKeyDb class
implementing it, which contains only the authentication key operations.
The MappingSystem and the LispSouthBoundPlugin are switched to the new
implementation.
This is a prerequisite for a full solution to bug 7272, by making it
possible to remove all sub-keys when removing a mapping, leaving the
RadixTrie in a consistent state. It also makes a proper implementation
for the newly introduced remove-all-operational-content RPC, since
deleting all operational content should delete all southbound mappings,
but not authentication keys, which are now in the same in-memory
structures.
Checked system tests, all passing.
Change-Id: I9536dbccb06d486e205f8a15e9e8ac3fa1c53fcc
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
26 files changed: