nfd-status: Define format and implement --xml option

The ether URI format "ether://01:00:5e:00:17:aa" violates
the URI specification, so it has been changed to
ether://[01:00:5e:00:17:aa] in this commit.

refs: #1438

Change-Id: I1218374b75f919a5e1ab158bbab2e217e64aced3
diff --git a/tests/core/face-uri.cpp b/tests/core/face-uri.cpp
index 0e54f04..e1e07a9 100644
--- a/tests/core/face-uri.cpp
+++ b/tests/core/face-uri.cpp
@@ -156,7 +156,7 @@
 {
   FaceUri uri;
 
-  BOOST_CHECK(uri.parse("ether://08:00:27:01:dd:01"));
+  BOOST_CHECK(uri.parse("ether://[08:00:27:01:dd:01]"));
   BOOST_CHECK_EQUAL(uri.getScheme(), "ether");
   BOOST_CHECK_EQUAL(uri.getHost(), "08:00:27:01:dd:01");
   BOOST_CHECK_EQUAL(uri.getPort(), "");
@@ -167,7 +167,7 @@
 #ifdef HAVE_LIBPCAP
   ethernet::Address address = ethernet::Address::fromString("33:33:01:01:01:01");
   BOOST_REQUIRE_NO_THROW(FaceUri(address));
-  BOOST_CHECK_EQUAL(FaceUri(address).toString(), "ether://33:33:01:01:01:01");
+  BOOST_CHECK_EQUAL(FaceUri(address).toString(), "ether://[33:33:01:01:01:01]");
 #endif // HAVE_LIBPCAP
 }
 
diff --git a/tests/daemon/face/ethernet.cpp b/tests/daemon/face/ethernet.cpp
index 270abb0..936406b 100644
--- a/tests/daemon/face/ethernet.cpp
+++ b/tests/daemon/face/ethernet.cpp
@@ -118,7 +118,7 @@
   BOOST_CHECK(!face->isOnDemand());
   BOOST_CHECK_EQUAL(face->isLocal(), false);
   BOOST_CHECK_EQUAL(face->getRemoteUri().toString(),
-                    "ether://" + ethernet::getDefaultMulticastAddress().toString());
+                    "ether://[" + ethernet::getDefaultMulticastAddress().toString()+"]");
   BOOST_CHECK_EQUAL(face->getLocalUri().toString(),
                     "dev://" + m_interfaces.front()->name);