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

A representation of L3 configuration on an interface. More...

+ Inheritance diagram for VOM::l3_binding:
+ Collaboration diagram for VOM::l3_binding:

Public Types

typedef std::pair< interface::key_t, route::prefix_tkey_t
 The key type for l3_bindings. More...
 
typedef singular_db< key_t, l3_binding >::const_iterator const_iterator_t
 The iterator type. More...
 

Public Member Functions

 l3_binding (const interface &itf, const route::prefix_t &pfx)
 Construct a new object matching the desried state. More...
 
 l3_binding (const l3_binding &o)
 Copy Constructor. More...
 
 ~l3_binding ()
 Destructor. More...
 
bool operator== (const l3_binding &l) const
 Comparison operator. More...
 
const key_t key () const
 Get the object's key. More...
 
std::shared_ptr< l3_bindingsingular () const
 Return the 'singular instance' of the L3-Config that matches this object. More...
 
std::string to_string () const
 convert to string format for debug purposes More...
 
const route::prefix_tprefix () const
 Return the prefix associated with this L3 binding. More...
 
const interfaceitf () const
 Return the interface associated with this L3 binding. More...
 

Static Public Member Functions

static const_iterator_t cbegin ()
 
static const_iterator_t cend ()
 
static void dump (std::ostream &os)
 Dump all l3_bindings into the stream provided. More...
 
static std::shared_ptr< l3_bindingfind (const key_t &k)
 Find a binding from its key. More...
 

Friends

class OM
 
class singular_db< key_t, l3_binding >
 e* It's the singular_db class that calls replay() More...
 
class interface
 

Additional Inherited Members

- Protected Member Functions inherited from VOM::object_base
 object_base ()=default
 Constructable by derived classes only. More...
 
virtual ~object_base ()=default
 Destructor. More...
 

Detailed Description

A representation of L3 configuration on an interface.

Definition at line 30 of file l3_binding.hpp.

Member Typedef Documentation

◆ const_iterator_t

The iterator type.

Definition at line 66 of file l3_binding.hpp.

◆ key_t

The key type for l3_bindings.

Definition at line 36 of file l3_binding.hpp.

Constructor & Destructor Documentation

◆ l3_binding() [1/2]

VOM::l3_binding::l3_binding ( const interface itf,
const route::prefix_t pfx 
)

Construct a new object matching the desried state.

Definition at line 28 of file l3_binding.cpp.

◆ l3_binding() [2/2]

VOM::l3_binding::l3_binding ( const l3_binding o)

Copy Constructor.

Definition at line 35 of file l3_binding.cpp.

◆ ~l3_binding()

VOM::l3_binding::~l3_binding ( )

Destructor.

Definition at line 42 of file l3_binding.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ cbegin()

l3_binding::const_iterator_t VOM::l3_binding::cbegin ( )
static

Definition at line 94 of file l3_binding.cpp.

+ Here is the caller graph for this function:

◆ cend()

l3_binding::const_iterator_t VOM::l3_binding::cend ( )
static

Definition at line 100 of file l3_binding.cpp.

+ Here is the caller graph for this function:

◆ dump()

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

Dump all l3_bindings into the stream provided.

Definition at line 148 of file l3_binding.cpp.

+ Here is the call graph for this function:

◆ find()

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

Find a binding from its key.

Definition at line 136 of file l3_binding.cpp.

◆ itf()

const interface & VOM::l3_binding::itf ( ) const

Return the interface associated with this L3 binding.

Definition at line 88 of file l3_binding.cpp.

◆ key()

const l3_binding::key_t VOM::l3_binding::key ( ) const

Get the object's key.

Definition at line 57 of file l3_binding.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator==()

bool VOM::l3_binding::operator== ( const l3_binding l) const

Comparison operator.

Definition at line 51 of file l3_binding.cpp.

◆ prefix()

const route::prefix_t & VOM::l3_binding::prefix ( ) const

Return the prefix associated with this L3 binding.

Definition at line 82 of file l3_binding.cpp.

◆ singular()

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

Return the 'singular instance' of the L3-Config that matches this object.

Definition at line 142 of file l3_binding.cpp.

◆ to_string()

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

convert to string format for debug purposes

Implements VOM::object_base.

Definition at line 106 of file l3_binding.cpp.

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ interface

friend class interface
friend

Definition at line 168 of file l3_binding.hpp.

◆ OM

friend class OM
friend

Definition at line 151 of file l3_binding.hpp.

◆ singular_db< key_t, l3_binding >

friend class singular_db< key_t, l3_binding >
friend

e* It's the singular_db class that calls replay()

Definition at line 156 of file l3_binding.hpp.


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