X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp-api%2Fvom%2Fnat_static.hpp;h=2dcadb3c9041f544c33f78390ecea26f4f267a17;hb=25b049484fcf9161edb2c19250066b893c38c264;hp=1aa4a5e79c30cd3ec624ddbbc4019bc10c8b2fa7;hpb=812ed39f9da336310e815c361ab5a9f118657d94;p=vpp.git diff --git a/src/vpp-api/vom/nat_static.hpp b/src/vpp-api/vom/nat_static.hpp index 1aa4a5e79c3..2dcadb3c904 100644 --- a/src/vpp-api/vom/nat_static.hpp +++ b/src/vpp-api/vom/nat_static.hpp @@ -16,13 +16,10 @@ #ifndef __VOM_NAT_STATIC_H__ #define __VOM_NAT_STATIC_H__ -#include "vom/dump_cmd.hpp" #include "vom/route.hpp" #include "vom/singular_db.hpp" #include "vom/types.hpp" -#include - namespace VOM { /** * A entry in the ARP termination table of a Bridge Domain @@ -42,7 +39,7 @@ public: * table */ nat_static(const boost::asio::ip::address& inside, - const boost::asio::ip::address_v4& outside); + const boost::asio::ip::address& outside); /** * Construct an NAT Static binding with the outside address in @@ -50,7 +47,7 @@ public: */ nat_static(const route_domain& rd, const boost::asio::ip::address& inside, - const boost::asio::ip::address_v4& outside); + const boost::asio::ip::address& outside); /** * Copy Construct @@ -62,6 +59,16 @@ public: */ ~nat_static(); + /** + * Comparison operator - for UT + */ + bool operator==(const nat_static& n) const; + + /** + * Return the object's key + */ + const key_t key() const; + /** * Return the matching 'singular instance' */ @@ -70,7 +77,7 @@ public: /** * Find the instnace of the bridge_domain domain in the OM */ - static std::shared_ptr find(const nat_static& temp); + static std::shared_ptr find(const key_t& key); /** * Dump all bridge_domain-doamin into the stream provided @@ -87,111 +94,6 @@ public: */ std::string to_string() const; - /** - * A command class that creates NAT 44 static mapping - */ - class create_44_cmd - : public rpc_cmd, rc_t, vapi::Nat44_add_del_static_mapping> - { - public: - /** - * Constructor - */ - create_44_cmd(HW::item& item, - route::table_id_t id, - const boost::asio::ip::address_v4& inside, - const boost::asio::ip::address_v4& outside); - - /** - * 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 create_44_cmd& i) const; - - private: - route::table_id_t m_id; - const boost::asio::ip::address_v4 m_inside; - const boost::asio::ip::address_v4 m_outside; - }; - - /** - * A cmd class that deletes a NAT 44 static mapping - */ - class delete_44_cmd - : public rpc_cmd, rc_t, vapi::Nat44_add_del_static_mapping> - { - public: - /** - * Constructor - */ - delete_44_cmd(HW::item& item, - route::table_id_t id, - const boost::asio::ip::address_v4& inside, - const boost::asio::ip::address_v4& outside); - - /** - * 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 delete_44_cmd& i) const; - - private: - route::table_id_t m_id; - const boost::asio::ip::address_v4 m_inside; - const boost::asio::ip::address_v4 m_outside; - }; - - /** - * A cmd class that Dumps all the nat_statics - */ - class dump_44_cmd : public dump_cmd - { - public: - /** - * Constructor - */ - dump_44_cmd(); - dump_44_cmd(const dump_44_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_44_cmd& i) const; - - private: - /** - * HW reutrn code - */ - HW::item item; - }; - private: /** * Class definition for listeners to OM events @@ -266,12 +168,12 @@ private: /** * The 'inside' IP address, could be v4 or v6 */ - const boost::asio::ip::address& m_inside; + const boost::asio::ip::address m_inside; /** - * The 'outside' IP address - always v4 + * The 'outside' IP address */ - const boost::asio::ip::address_v4& m_outside; + const boost::asio::ip::address m_outside; /** * A map of all NAT statics