INTERFACE,
/**
- * bond group binding is after interfaces but before
- * anything else
+ * virtual interfaces - those that depend on some real interface
*/
- BOND_BINDING,
+ VIRTUAL_INTERFACE,
/**
- * Tunnel or virtual interfaces next
+ * Tables in which entries are added, e.g bridge/route-domains
*/
- TUNNEL,
+ TABLE,
/**
- * Tables in which entries are added, e.g bridge/route-domains
+ * virtual tables - tables with a dependency on another table
*/
- TABLE,
+ VIRTUAL_TABLE,
/**
* ACLs
*/
struct rc_t : public enum_base<rc_t>
{
- rc_t(const rc_t& rc) = default;
-
/**
* Destructor
*/
*/
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);
/**
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
*/
* 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);
};
/*