VOM: stats
[vpp.git] / extras / vom / vom / types.hpp
index 53654c5..56759d5 100644 (file)
@@ -53,15 +53,9 @@ enum class dependency_t
   INTERFACE,
 
   /**
-   * bond group binding is after interfaces but before
-   * anything else
+   * virtual interfaces - those that depend on some real interface
    */
-  BOND_BINDING,
-
-  /**
-   * Tunnel or virtual interfaces next
-   */
-  TUNNEL,
+  VIRTUAL_INTERFACE,
 
   /**
    * Tables in which entries are added, e.g bridge/route-domains
@@ -89,8 +83,6 @@ enum class dependency_t
  */
 struct rc_t : public enum_base<rc_t>
 {
-  rc_t(const rc_t& rc) = default;
-
   /**
    * Destructor
    */
@@ -297,7 +289,7 @@ std::ostream& operator<<(std::ostream& os, const handle_t& h);
  */
 struct mac_address_t
 {
-  mac_address_t(uint8_t bytes[6]);
+  mac_address_t(const uint8_t bytes[6]);
   mac_address_t(const std::string& str);
   mac_address_t(std::initializer_list<uint8_t> bytes);
   /**
@@ -386,6 +378,22 @@ struct l2_address_t
   std::vector<uint8_t> bytes;
 };
 
+struct counter_t
+{
+  counter_t()
+    : packets(0)
+    , bytes(0)
+  {
+  }
+  counter_t(const counter_t& c)
+    : packets(c.packets)
+    , bytes(c.bytes)
+  {
+  }
+  uint64_t packets;
+  uint64_t bytes;
+};
+
 /**
  * Ostream operator for a MAC address
  */
@@ -395,6 +403,11 @@ std::ostream& operator<<(std::ostream& os, const mac_address_t& mac);
  * Ostream operator for a MAC address
  */
 std::ostream& operator<<(std::ostream& os, const l2_address_t& l2);
+
+/**
+ * Ostream operator for a MAC address
+ */
+std::ostream& operator<<(std::ostream& os, const counter_t& c);
 };
 
 /*