face: UnicastEthernetTransport

Change-Id: I4d19f52835d9268f2ea63fd4e0b1a0a5aed95c47
Refs: #4011
diff --git a/daemon/face/ethernet-transport.hpp b/daemon/face/ethernet-transport.hpp
index 0777d74..8164a33 100644
--- a/daemon/face/ethernet-transport.hpp
+++ b/daemon/face/ethernet-transport.hpp
@@ -43,9 +43,9 @@
 namespace face {
 
 /**
- * \brief A multicast Transport that uses raw Ethernet II frames
+ * @brief Base class for Ethernet-based Transports
  */
-class EthernetTransport final : public Transport
+class EthernetTransport : public Transport
 {
 public:
   class Error : public std::runtime_error
@@ -58,42 +58,29 @@
     }
   };
 
-  /**
-   * @brief Creates an Ethernet-based transport for multicast communication
-   */
-  EthernetTransport(const NetworkInterfaceInfo& interface,
-                    const ethernet::Address& mcastAddress,
-                    ndn::nfd::LinkType linkType);
-
 protected:
+  EthernetTransport(const NetworkInterfaceInfo& localEndpoint,
+                    const ethernet::Address& remoteEndpoint);
+
   void
   doClose() final;
 
-private:
+  /**
+   * @brief Installs a BPF filter on the receiving socket
+   * @param filterString string containing the BPF program source
+   */
   void
-  doSend(Transport::Packet&& packet) final;
+  setPacketFilter(const char* filterString);
 
+private:
   /**
    * @brief Allocates and initializes a libpcap context for live capture
    */
   void
   pcapInit();
 
-  /**
-   * @brief Installs a BPF filter on the receiving socket
-   *
-   * @param filterString string containing the source BPF program
-   */
   void
-  setPacketFilter(const char* filterString);
-
-  /**
-   * @brief Enables receiving frames addressed to our MAC multicast group
-   *
-   * @return true if successful, false otherwise
-   */
-  bool
-  joinMulticastGroup();
+  doSend(Transport::Packet&& packet) final;
 
   /**
    * @brief Sends the specified TLV block on the network wrapped in an Ethernet frame
@@ -130,7 +117,7 @@
   size_t
   getInterfaceMtu();
 
-private:
+protected:
   unique_ptr<pcap_t, void(*)(pcap_t*)> m_pcap;
   boost::asio::posix::stream_descriptor m_socket;
 
@@ -141,6 +128,7 @@
   int m_interfaceIndex;
 #endif
 
+private:
 #ifdef _DEBUG
   /// number of packets dropped by the kernel, as reported by libpcap
   unsigned int m_nDropped;