16 #ifndef __VOM_NAT_STATIC_H__ 17 #define __VOM_NAT_STATIC_H__ 35 typedef std::pair<route::table_id_t, boost::asio::ip::address>
key_t;
41 nat_static(
const boost::asio::ip::address& inside,
42 const boost::asio::ip::address_v4& outside);
49 const boost::asio::ip::address& inside,
50 const boost::asio::ip::address_v4& outside);
70 const key_t
key()
const;
75 std::shared_ptr<nat_static>
singular()
const;
80 static std::shared_ptr<nat_static>
find(
const key_t&
key);
85 static void dump(std::ostream& os);
105 virtual ~event_handler() =
default;
115 void handle_replay();
120 void show(std::ostream& os);
131 static event_handler m_evh;
141 static std::shared_ptr<nat_static> find_or_add(
const nat_static& temp);
166 std::shared_ptr<route_domain> m_rd;
171 const boost::asio::ip::address m_inside;
176 const boost::asio::ip::address_v4 m_outside;
void replay(void)
replay the object to create it in hardware
std::shared_ptr< nat_static > singular() const
Return the matching 'singular instance'.
const std::string key_t
In the opflex world each entity is known by a URI which can be converted into a string.
std::string to_string() const
Convert to string for debugging.
static void dump(std::ostream &os)
Dump all bridge_domain-doamin into the stream provided.
A entry in the ARP termination table of a Bridge Domain.
nat_static(const boost::asio::ip::address &inside, const boost::asio::ip::address_v4 &outside)
Construct an NAT Static binding with the outside address in default table.
A Database to store the unique 'singular' instances of a single object type.
Class definition for listeners to OM events.
inspect command handler Handler
std::pair< route::table_id_t, boost::asio::ip::address > key_t
The key for a NAT static mapping.
dependency_t
There needs to be a strict order in which object types are read from VPP (at boot time) and replayed ...
The interface to writing objects into VPP OM.
A base class for all object_base in the VPP object_base-Model.
std::ostream & operator<<(std::ostream &os, const std::pair< direction_t, interface::key_t > &key)
The VPP Object Model (VOM) library.
static std::shared_ptr< nat_static > find(const key_t &key)
Find the instnace of the bridge_domain domain in the OM.
bool operator==(const nat_static &n) const
Comparison operator - for UT.
const key_t key() const
Return the object's key.