aboutsummaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/bridge_domain_arp_entry_cmds.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/bridge_domain_arp_entry_cmds.hpp')
-rw-r--r--extras/vom/vom/bridge_domain_arp_entry_cmds.hpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/extras/vom/vom/bridge_domain_arp_entry_cmds.hpp b/extras/vom/vom/bridge_domain_arp_entry_cmds.hpp
index 9637e37a845..490fc4ba738 100644
--- a/extras/vom/vom/bridge_domain_arp_entry_cmds.hpp
+++ b/extras/vom/vom/bridge_domain_arp_entry_cmds.hpp
@@ -17,6 +17,7 @@
#define __VOM_BRIDGE_DOMAIN_ARP_ENTRY_CMDS_H__
#include "vom/bridge_domain_arp_entry.hpp"
+#include "vom/dump_cmd.hpp"
#include <vapi/l2.api.vapi.hpp>
#include <vapi/vpe.api.vapi.hpp>
@@ -93,6 +94,44 @@ private:
mac_address_t m_mac;
boost::asio::ip::address m_ip_addr;
};
+
+/**
+ * A cmd class that Dumps all arp termination tables
+ */
+class dump_cmd : public VOM::dump_cmd<vapi::Bd_ip_mac_dump>
+{
+public:
+ /**
+ * Constructor
+ */
+ dump_cmd(uint32_t bd_id);
+ dump_cmd(const dump_cmd& d);
+
+ /**
+ * Issue the command to VPP/HW
+ */
+ rc_t issue(connection& con);
+ /**
+ * convert to string format for debug purposes
+ */
+ std::string to_string() const;
+
+ /**
+ * Comparison operator - only used for UT
+ */
+ bool operator==(const dump_cmd& i) const;
+
+private:
+ /**
+ * HW reutrn code
+ */
+ HW::item<bool> item;
+
+ /**
+ * The bd_id to get the arp termination table for
+ */
+ uint32_t m_bd;
+};
};
};