X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2Fbridge_domain_arp_entry_cmds.hpp;h=490fc4ba738c4c83a599e5eecc7282bb0cbabf97;hb=8c8acc0;hp=094de4c7fb6abdad2df00e085ff0f8d0670f4449;hpb=164e5f8c63652028ecb9c3570e1ea8618b163071;p=vpp.git diff --git a/extras/vom/vom/bridge_domain_arp_entry_cmds.hpp b/extras/vom/vom/bridge_domain_arp_entry_cmds.hpp index 094de4c7fb6..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 #include @@ -27,7 +28,7 @@ namespace bridge_domain_arp_entry_cmds { /** * A command class that creates or updates the bridge domain ARP Entry */ -class create_cmd : public rpc_cmd, rc_t, vapi::Bd_ip_mac_add_del> +class create_cmd : public rpc_cmd, vapi::Bd_ip_mac_add_del> { public: /** @@ -62,7 +63,7 @@ private: /** * A cmd class that deletes a bridge domain ARP entry */ -class delete_cmd : public rpc_cmd, rc_t, vapi::Bd_ip_mac_add_del> +class delete_cmd : public rpc_cmd, vapi::Bd_ip_mac_add_del> { public: /** @@ -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 +{ +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 item; + + /** + * The bd_id to get the arp termination table for + */ + uint32_t m_bd; +}; }; };