mgmt: add Mtu to faces/create and FaceStatus

refs #4005

Change-Id: I26c02aa088dc59aecd331cd579036177fef0f64c
diff --git a/src/mgmt/nfd/control-parameters.cpp b/src/mgmt/nfd/control-parameters.cpp
index 65360a5..4d826ef 100644
--- a/src/mgmt/nfd/control-parameters.cpp
+++ b/src/mgmt/nfd/control-parameters.cpp
@@ -51,6 +51,9 @@
 {
   size_t totalLength = 0;
 
+  if (this->hasMtu()) {
+    totalLength += prependNonNegativeIntegerBlock(encoder, tlv::nfd::Mtu, m_mtu);
+  }
   if (this->hasDefaultCongestionThreshold()) {
     totalLength += prependNonNegativeIntegerBlock(encoder, tlv::nfd::DefaultCongestionThreshold,
                                                   m_defaultCongestionThreshold);
@@ -228,6 +231,12 @@
   if (this->hasDefaultCongestionThreshold()) {
     m_defaultCongestionThreshold = readNonNegativeInteger(*val);
   }
+
+  val = m_wire.find(tlv::nfd::Mtu);
+  m_hasFields[CONTROL_PARAMETER_MTU] = val != m_wire.elements_end();
+  if (this->hasMtu()) {
+    m_mtu = readNonNegativeInteger(*val);
+  }
 }
 
 bool
@@ -368,6 +377,10 @@
     os << "DefaultCongestionThreshold: " << parameters.getDefaultCongestionThreshold() << ", ";
   }
 
+  if (parameters.hasMtu()) {
+    os << "Mtu: " << parameters.getMtu() << ", ";
+  }
+
   os << ")";
   return os;
 }