face: use IncomingFaceId, NextHopFaceId, CachePolicy tags
This commit replaces all LocalControlHeader usages with these tags,
and deletes LocalFace.
This commit also does minor improvements in RIB test suites.
refs #3339
Change-Id: I14cbfc296a6723a5860bf8bd95d9804d3bac3da5
diff --git a/rib/rib-manager.cpp b/rib/rib-manager.cpp
index 33d1622..03faf21 100644
--- a/rib/rib-manager.cpp
+++ b/rib/rib-manager.cpp
@@ -280,7 +280,13 @@
bool isSelfRegistration = (!parameters.hasFaceId() || parameters.getFaceId() == 0);
if (isSelfRegistration) {
- parameters.setFaceId(request->getIncomingFaceId());
+ shared_ptr<lp::IncomingFaceIdTag> incomingFaceIdTag = request->getTag<lp::IncomingFaceIdTag>();
+ if (incomingFaceIdTag == nullptr) {
+ sendResponse(request->getName(), 503,
+ "requested self-registration, but IncomingFaceId is unavailable");
+ return;
+ }
+ parameters.setFaceId(*incomingFaceIdTag);
}
// Respond since command is valid and authorized
@@ -358,7 +364,13 @@
bool isSelfRegistration = (!parameters.hasFaceId() || parameters.getFaceId() == 0);
if (isSelfRegistration) {
- parameters.setFaceId(request->getIncomingFaceId());
+ shared_ptr<lp::IncomingFaceIdTag> incomingFaceIdTag = request->getTag<lp::IncomingFaceIdTag>();
+ if (incomingFaceIdTag == nullptr) {
+ sendResponse(request->getName(), 503,
+ "requested self-registration, but IncomingFaceId is unavailable");
+ return;
+ }
+ parameters.setFaceId(*incomingFaceIdTag);
}
// Respond since command is valid and authorized