FD.io VPP  v21.01.1
Vector Packet Processing
VOM::gbp_vxlan Class Reference

A representation of a GBP_VXLAN Tunnel in VPP. More...

+ Inheritance diagram for VOM::gbp_vxlan:
+ Collaboration diagram for VOM::gbp_vxlan:

Public Types

typedef uint32_t key_t
 The VNI is the key. More...
 
- Public Types inherited from VOM::interface
typedef std::string key_t
 The key for interface's key. More...
 
typedef singular_db< const std::string, interface >::const_iterator const_iterator_t
 The iterator type. More...
 

Public Member Functions

 gbp_vxlan (uint32_t vni, const gbp_bridge_domain &gbd, const boost::asio::ip::address_v4 &src)
 Construct a new object matching the desried state. More...
 
 gbp_vxlan (uint32_t vni, const gbp_route_domain &grd, const boost::asio::ip::address_v4 &src)
 
 ~gbp_vxlan ()
 
 gbp_vxlan (const gbp_vxlan &o)
 Copy constructor. More...
 
bool operator== (const gbp_vxlan &vt) const
 
std::shared_ptr< gbp_vxlansingular () const
 Return the matching 'singular instance'. More...
 
const key_t key () const
 Return the object's key. More...
 
virtual std::string to_string () const
 Debug rpint function. More...
 
const handle_thandle () const
 Return VPP's handle to this object. More...
 
- Public Member Functions inherited from VOM::interface
 interface (const std::string &name, type_t type, admin_state_t state, const std::string &tag="")
 Construct a new object matching the desried state. More...
 
 interface (const std::string &name, type_t type, admin_state_t state, const route_domain &rd, const std::string &tag="")
 Construct a new object matching the desried state mapped to a specific route_domain. More...
 
virtual ~interface ()
 Destructor. More...
 
 interface (const interface &o)
 Copy Constructor. More...
 
std::shared_ptr< interfacesingular () const
 Return the matching'singular' of the interface. More...
 
const handle_thandle () const
 Return VPP's handle to this object. More...
 
const type_ttype () const
 Return the interface type. More...
 
const std::stringname () const
 Return the interface type. More...
 
const key_tkey () const
 Return the interface type. More...
 
const l2_address_tl2_address () const
 Return the L2 Address. More...
 
const admin_state_tadmin_state () const
 Return the admin state. More...
 
void set (const admin_state_t &state)
 Set the admin state of the interface. More...
 
void set (const l2_address_t &addr)
 Set the L2 Address. More...
 
void set (const oper_state_t &state)
 Set the operational state of the interface, as reported by VPP. More...
 
void set (const std::string &tag)
 Set the tag to the interface. More...
 
const stats_tget_stats (void) const
 Get the interface stats. More...
 
virtual bool operator== (const interface &i) const
 Comparison operator - only used for UT. More...
 
void enable_stats (stat_listener *el, const stats_type_t &st=stats_type_t::NORMAL)
 Enable stats for this interface. More...
 
void disable_stats ()
 Disable stats for this interface. More...
 

Static Public Member Functions

static void dump (std::ostream &os)
 Dump all L3Configs into the stream provided. More...
 
static std::shared_ptr< gbp_vxlanfind (const key_t k)
 Find the GBP_VXLAN tunnel in the OM. More...
 
- Static Public Member Functions inherited from VOM::interface
static const_iterator_t cbegin ()
 
static const_iterator_t cend ()
 
static std::shared_ptr< interfacefind (const handle_t &h)
 The the singular instance of the interface in the DB by handle. More...
 
static std::shared_ptr< interfacefind (const key_t &k)
 The the singular instance of the interface in the DB by key. More...
 
static void dump (std::ostream &os)
 Dump all interfaces into the stream provided. More...
 
static void enable_events (interface::event_listener &el)
 Enable the reception of events of all interfaces. More...
 
static void disable_events ()
 disable the reception of events of all interfaces More...
 

Friends

class OM
 
class singular_db< key_t, gbp_vxlan >
 It's the singular_db class that calls replay() More...
 

Additional Inherited Members

- Protected Member Functions inherited from VOM::interface
void set (const handle_t &handle)
 Set the handle of an interface object. More...
 
void release ()
 release/remove an interface form the singular store More...
 
virtual std::queue< cmd * > & mk_create_cmd (std::queue< cmd *> &cmds)
 Virtual functions to construct an interface create commands. More...
 
virtual std::queue< cmd * > & mk_delete_cmd (std::queue< cmd *> &cmds)
 Virtual functions to construct an interface delete commands. More...
 
- Protected Member Functions inherited from VOM::object_base
 object_base ()=default
 Constructable by derived classes only. More...
 
virtual ~object_base ()=default
 Destructor. More...
 
- Static Protected Member Functions inherited from VOM::interface
static void add (const key_t &name, const HW::item< handle_t > &item)
 Add an interface to the DB keyed on handle. More...
 
static void remove (const HW::item< handle_t > &item)
 remove an interface from the DB keyed on handle More...
 
- Protected Attributes inherited from VOM::interface
HW::item< handle_tm_hdl
 The SW interface handle VPP has asigned to the interface. More...
 
- Static Protected Attributes inherited from VOM::interface
static singular_db< key_t, interfacem_db
 A map of all interfaces key against the interface's name. More...
 

Detailed Description

A representation of a GBP_VXLAN Tunnel in VPP.

Definition at line 30 of file gbp_vxlan.hpp.

Member Typedef Documentation

◆ key_t

typedef uint32_t VOM::gbp_vxlan::key_t

The VNI is the key.

Definition at line 36 of file gbp_vxlan.hpp.

Constructor & Destructor Documentation

◆ gbp_vxlan() [1/3]

VOM::gbp_vxlan::gbp_vxlan ( uint32_t  vni,
const gbp_bridge_domain gbd,
const boost::asio::ip::address_v4 &  src 
)

Construct a new object matching the desried state.

Definition at line 45 of file gbp_vxlan.cpp.

◆ gbp_vxlan() [2/3]

VOM::gbp_vxlan::gbp_vxlan ( uint32_t  vni,
const gbp_route_domain grd,
const boost::asio::ip::address_v4 &  src 
)

Definition at line 33 of file gbp_vxlan.cpp.

◆ ~gbp_vxlan()

VOM::gbp_vxlan::~gbp_vxlan ( )

Definition at line 111 of file gbp_vxlan.cpp.

+ Here is the call graph for this function:

◆ gbp_vxlan() [3/3]

VOM::gbp_vxlan::gbp_vxlan ( const gbp_vxlan o)

Copy constructor.

Definition at line 58 of file gbp_vxlan.cpp.

Member Function Documentation

◆ dump()

void VOM::gbp_vxlan::dump ( std::ostream &  os)
static

Dump all L3Configs into the stream provided.

Definition at line 167 of file gbp_vxlan.cpp.

+ Here is the call graph for this function:

◆ find()

std::shared_ptr< gbp_vxlan > VOM::gbp_vxlan::find ( const key_t  k)
static

Find the GBP_VXLAN tunnel in the OM.

Definition at line 127 of file gbp_vxlan.cpp.

+ Here is the call graph for this function:

◆ handle()

const handle_t& VOM::gbp_vxlan::handle ( ) const

Return VPP's handle to this object.

◆ key()

const gbp_vxlan::key_t VOM::gbp_vxlan::key ( ) const

Return the object's key.

Definition at line 78 of file gbp_vxlan.cpp.

+ Here is the caller graph for this function:

◆ operator==()

bool VOM::gbp_vxlan::operator== ( const gbp_vxlan vt) const

Definition at line 84 of file gbp_vxlan.cpp.

+ Here is the call graph for this function:

◆ singular()

std::shared_ptr< gbp_vxlan > VOM::gbp_vxlan::singular ( ) const

Return the matching 'singular instance'.

Definition at line 155 of file gbp_vxlan.cpp.

◆ to_string()

std::string VOM::gbp_vxlan::to_string ( void  ) const
virtual

Debug rpint function.

Reimplemented from VOM::interface.

Definition at line 118 of file gbp_vxlan.cpp.

+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ OM

friend class OM
friend

Definition at line 145 of file gbp_vxlan.hpp.

◆ singular_db< key_t, gbp_vxlan >

friend class singular_db< key_t, gbp_vxlan >
friend

It's the singular_db class that calls replay()

Definition at line 150 of file gbp_vxlan.hpp.


The documentation for this class was generated from the following files: