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

A entry in the ARP termination table of a Bridge Domain. More...

+ Inheritance diagram for VOM::gbp_contract:
+ Collaboration diagram for VOM::gbp_contract:

Public Types

typedef std::set< gbp_rulegbp_rules_t
 set of gbp rules More...
 
typedef std::tuple< scope_t, sclass_t, sclass_tkey_t
 The key for a contract is the pair of EPG-IDs. More...
 
typedef std::set< ethertype_tethertype_set_t
 A set of allowed ethertypes. More...
 

Public Member Functions

 gbp_contract (scope_t scope, sclass_t sclass, sclass_t dclass, const ACL::l3_list &acl, const gbp_rules_t &gpb_rules, const ethertype_set_t &allowed_ethertypes)
 Construct a GBP contract. More...
 
 gbp_contract (const gbp_contract &r)
 Copy Construct. More...
 
 ~gbp_contract ()
 Destructor. More...
 
const key_t key () const
 Return the object's key. More...
 
bool operator== (const gbp_contract &bdae) const
 comparison operator More...
 
std::shared_ptr< gbp_contractsingular () 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< gbp_contractfind (const key_t &k)
 Find the instnace of the bridge_domain domain in the OM. More...
 
static void dump (std::ostream &os)
 Dump all bridge_domain-doamin into the stream provided. More...
 

Friends

class OM
 
class singular_db< key_t, gbp_contract >
 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 ARP termination table of a Bridge Domain.

Definition at line 31 of file gbp_contract.hpp.

Member Typedef Documentation

◆ ethertype_set_t

A set of allowed ethertypes.

Definition at line 47 of file gbp_contract.hpp.

◆ gbp_rules_t

set of gbp rules

Definition at line 37 of file gbp_contract.hpp.

◆ key_t

The key for a contract is the pair of EPG-IDs.

Definition at line 42 of file gbp_contract.hpp.

Constructor & Destructor Documentation

◆ gbp_contract() [1/2]

VOM::gbp_contract::gbp_contract ( scope_t  scope,
sclass_t  sclass,
sclass_t  dclass,
const ACL::l3_list acl,
const gbp_rules_t gpb_rules,
const ethertype_set_t allowed_ethertypes 
)

Construct a GBP contract.

Definition at line 27 of file gbp_contract.cpp.

◆ gbp_contract() [2/2]

VOM::gbp_contract::gbp_contract ( const gbp_contract r)

Copy Construct.

Definition at line 43 of file gbp_contract.cpp.

◆ ~gbp_contract()

VOM::gbp_contract::~gbp_contract ( )

Destructor.

Definition at line 54 of file gbp_contract.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ dump()

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

Dump all bridge_domain-doamin into the stream provided.

Definition at line 147 of file gbp_contract.cpp.

+ Here is the call graph for this function:

◆ find()

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

Find the instnace of the bridge_domain domain in the OM.

Definition at line 135 of file gbp_contract.cpp.

◆ key()

const gbp_contract::key_t VOM::gbp_contract::key ( ) const

Return the object's key.

Definition at line 63 of file gbp_contract.cpp.

+ Here is the caller graph for this function:

◆ operator==()

bool VOM::gbp_contract::operator== ( const gbp_contract bdae) const

comparison operator

Definition at line 69 of file gbp_contract.cpp.

+ Here is the call graph for this function:

◆ replay()

void VOM::gbp_contract::replay ( void  )
virtual

replay the object to create it in hardware

Implements VOM::object_base.

Definition at line 85 of file gbp_contract.cpp.

+ Here is the call graph for this function:

◆ singular()

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

Return the matching 'singular instance'.

Definition at line 141 of file gbp_contract.cpp.

◆ to_string()

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

Convert to string for debugging.

Implements VOM::object_base.

Definition at line 95 of file gbp_contract.cpp.

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

Friends And Related Function Documentation

◆ OM

friend class OM
friend

Definition at line 153 of file gbp_contract.hpp.

◆ singular_db< key_t, gbp_contract >

friend class singular_db< key_t, gbp_contract >
friend

It's the singular_db class that calls replay()

Definition at line 158 of file gbp_contract.hpp.


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