FD.io VPP  v21.01.1
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:

Data Structures

struct  flags_t
 

Public Types

typedef std::pair< interface::key_t, boost::asio::ip::addresskey_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, const flags_t flags=flags_t::STATIC)
 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

◆ key_t

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

Definition at line 58 of file neighbour.hpp.

Constructor & Destructor Documentation

◆ neighbour() [1/2]

VOM::neighbour::neighbour ( const interface itf,
const boost::asio::ip::address ip_addr,
const mac_address_t mac,
const flags_t  flags = flags_t::STATIC 
)

Construct an ARP entry.

Definition at line 34 of file neighbour.cpp.

◆ neighbour() [2/2]

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

Copy Construct.

Definition at line 46 of file neighbour.cpp.

◆ ~neighbour()

VOM::neighbour::~neighbour ( )

Destructor.

Definition at line 55 of file neighbour.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ dump()

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

Dump all neighbours into the stream provided.

Definition at line 135 of file neighbour.cpp.

+ Here is the call graph for this function:

◆ find()

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

Find the neighbour fromits key.

Definition at line 123 of file neighbour.cpp.

◆ key()

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

Return the object's key.

Definition at line 70 of file neighbour.cpp.

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

◆ operator==()

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

Comparison operator.

Definition at line 64 of file neighbour.cpp.

+ Here is the call graph for this function:

◆ replay()

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

replay the object to create it in hardware

Implements VOM::object_base.

Definition at line 86 of file neighbour.cpp.

+ Here is the call graph for this function:

◆ singular()

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

Return the matching 'singular instance'.

Definition at line 129 of file neighbour.cpp.

◆ to_string()

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

Convert to string for debugging.

Implements VOM::object_base.

Definition at line 95 of file neighbour.cpp.

+ Here is the call graph for this function:

Friends And Related Function Documentation

◆ OM

friend class OM
friend

Definition at line 169 of file neighbour.hpp.

◆ singular_db< key_t, neighbour >

friend class singular_db< key_t, neighbour >
friend

It's the singular_db class that calls replay()

Definition at line 174 of file neighbour.hpp.


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