FD.io VPP  v18.04-17-g3a0d853
Vector Packet Processing
VOM::neighbour Class Reference

A entry in the neighbour entry (ARP or IPv6 ND) More...

+ Inheritance diagram for VOM::neighbour:
+ Collaboration diagram for VOM::neighbour:

Public Types

typedef std::pair< interface::key_t, boost::asio::ip::address > key_t
 The key for a neighbour entry; the interface and IP address. More...
 

Public Member Functions

 neighbour (const interface &itf, const boost::asio::ip::address &ip_addr, const mac_address_t &mac)
 Construct an ARP entry. More...
 
 neighbour (const neighbour &r)
 Copy Construct. More...
 
 ~neighbour ()
 Destructor. More...
 
const key_t key () const
 Return the object's key. More...
 
bool operator== (const neighbour &n) const
 Comparison operator. More...
 
std::shared_ptr< neighboursingular () const
 Return the matching 'singular instance'. More...
 
void replay (void)
 replay the object to create it in hardware More...
 
std::string to_string () const
 Convert to string for debugging. More...
 

Static Public Member Functions

static std::shared_ptr< neighbourfind (const key_t &k)
 Find the neighbour fromits key. More...
 
static void dump (std::ostream &os)
 Dump all neighbours into the stream provided. More...
 

Friends

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

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 entry in the neighbour entry (ARP or IPv6 ND)

Definition at line 27 of file neighbour.hpp.

Member Typedef Documentation

typedef std::pair<interface::key_t, boost::asio::ip::address> VOM::neighbour::key_t

The key for a neighbour entry; the interface and IP address.

Definition at line 34 of file neighbour.hpp.

Constructor & Destructor Documentation

VOM::neighbour::neighbour ( const interface itf,
const boost::asio::ip::address &  ip_addr,
const mac_address_t mac 
)

Construct an ARP entry.

Definition at line 24 of file neighbour.cpp.

VOM::neighbour::neighbour ( const neighbour r)

Copy Construct.

Definition at line 34 of file neighbour.cpp.

VOM::neighbour::~neighbour ( )

Destructor.

Definition at line 42 of file neighbour.cpp.

+ Here is the call graph for this function:

Member Function Documentation

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

Dump all neighbours into the stream provided.

Definition at line 122 of file neighbour.cpp.

+ Here is the call graph for this function:

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

Find the neighbour fromits key.

Definition at line 110 of file neighbour.cpp.

const neighbour::key_t VOM::neighbour::key ( ) const

Return the object's key.

Definition at line 57 of file neighbour.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool VOM::neighbour::operator== ( const neighbour n) const

Comparison operator.

Definition at line 51 of file neighbour.cpp.

+ Here is the call graph for this function:

void VOM::neighbour::replay ( void  )
virtual

replay the object to create it in hardware

Implements VOM::object_base.

Definition at line 73 of file neighbour.cpp.

+ Here is the call graph for this function:

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

Return the matching 'singular instance'.

Definition at line 116 of file neighbour.cpp.

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

Convert to string for debugging.

Implements VOM::object_base.

Definition at line 82 of file neighbour.cpp.

+ Here is the call graph for this function:

Friends And Related Function Documentation

friend class OM
friend

Definition at line 144 of file neighbour.hpp.

friend class singular_db< key_t, neighbour >
friend

It's the singular_db class that calls replay()

Definition at line 149 of file neighbour.hpp.


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