mgmt: add UDP IPv4 and ethernet multicast face creation to face manager

refs: #1195

Change-Id: I693772d6a5c79873c5715718a6cacd80dc8c74e1
diff --git a/daemon/mgmt/face-manager.hpp b/daemon/mgmt/face-manager.hpp
index 316af2a..55e4df4 100644
--- a/daemon/mgmt/face-manager.hpp
+++ b/daemon/mgmt/face-manager.hpp
@@ -21,6 +21,7 @@
 const std::string FACE_MANAGER_PRIVILEGE = "faces";
 class FaceTable;
 class ProtocolFactory;
+class NetworkInterfaceInfo;
 
 class FaceManager : public ManagerBase
 {
@@ -37,6 +38,9 @@
   FaceManager(FaceTable& faceTable,
               shared_ptr<InternalFace> face);
 
+  virtual
+  ~FaceManager();
+
   /** \brief Subscribe to a face management section(s) for the config file
    */
   void
@@ -45,9 +49,6 @@
   void
   onFaceRequest(const Interest& request);
 
-  VIRTUAL_WITH_TESTS
-  ~FaceManager();
-
 PROTECTED_WITH_TESTS_ELSE_PRIVATE:
 
   void
@@ -84,10 +85,14 @@
   processSectionTcp(const ConfigSection& configSection, bool isDryRun);
 
   void
-  processSectionUdp(const ConfigSection& configSection, bool isDryRun);
+  processSectionUdp(const ConfigSection& configSection,
+                    bool isDryRun,
+                    const std::list<shared_ptr<NetworkInterfaceInfo> >& nicList);
 
   void
-  processSectionEther(const ConfigSection& configSection, bool isDryRun);
+  processSectionEther(const ConfigSection& configSection,
+                      bool isDryRun,
+                      const std::list<shared_ptr<NetworkInterfaceInfo> >& nicList);
 
   /** \brief parse a config option that can be either "yes" or "no"
    *  \throw ConfigFile::Error value is neither "yes" nor "no"
@@ -102,7 +107,6 @@
   typedef std::map< std::string/*protocol*/, shared_ptr<ProtocolFactory> > FactoryMap;
   FactoryMap m_factories;
   FaceTable& m_faceTable;
-  //
 
   typedef function<void(FaceManager*,
                         const Name&,