OpenSDN source code
EcmpLoadBalance Class Reference

#include <ecmp_load_balance.h>

Inheritance diagram for EcmpLoadBalance:

Public Types

enum  kHashingFields {
  SOURCE_IP , DESTINATION_IP , IP_PROTOCOL , SOURCE_PORT ,
  DESTINATION_PORT , NUM_HASH_FIELDS
}
 

Public Member Functions

 EcmpLoadBalance ()
 
virtual ~EcmpLoadBalance ()
 
const std::string & source_ip_str () const
 
const std::string & destination_ip_str () const
 
const std::string & source_port_str () const
 
const std::string & destination_port_str () const
 
const std::string & ip_protocol_str () const
 
void GetStringVector (std::vector< std::string > &string_vector) const
 
bool operator!= (const EcmpLoadBalance &rhs) const
 
virtual void Copy (const EcmpLoadBalance &rhs)
 
void SetAll ()
 
void ResetAll ()
 
bool AllSet () const
 
void set_source_ip ()
 
void reset_source_ip ()
 
void set_destination_ip ()
 
void reset_destination_ip ()
 
void set_ip_protocol ()
 
void reset_ip_protocol ()
 
void set_source_port ()
 
void reset_source_port ()
 
void set_destination_port ()
 
void reset_destination_port ()
 
bool is_source_ip_set () const
 
bool is_destination_ip_set () const
 
bool is_source_port_set () const
 
bool is_destination_port_set () const
 
bool is_ip_protocol_set () const
 
void reset ()
 
bool UpdateFields (const autogen::EcmpHashingIncludeFields &ecmp_hashing_fields)
 

Private Attributes

bool hash_fields_to_use_ [NUM_HASH_FIELDS]
 

Detailed Description

Definition at line 23 of file ecmp_load_balance.h.

Member Enumeration Documentation

◆ kHashingFields

Enumerator
SOURCE_IP 
DESTINATION_IP 
IP_PROTOCOL 
SOURCE_PORT 
DESTINATION_PORT 
NUM_HASH_FIELDS 

Definition at line 25 of file ecmp_load_balance.h.

Constructor & Destructor Documentation

◆ EcmpLoadBalance()

EcmpLoadBalance::EcmpLoadBalance ( )
inline

Definition at line 34 of file ecmp_load_balance.h.

Here is the call graph for this function:

◆ ~EcmpLoadBalance()

virtual EcmpLoadBalance::~EcmpLoadBalance ( )
inlinevirtual

Definition at line 37 of file ecmp_load_balance.h.

Member Function Documentation

◆ AllSet()

bool EcmpLoadBalance::AllSet ( ) const
inline

Definition at line 100 of file ecmp_load_balance.h.

◆ Copy()

virtual void EcmpLoadBalance::Copy ( const EcmpLoadBalance rhs)
inlinevirtual

Definition at line 75 of file ecmp_load_balance.h.

◆ destination_ip_str()

const std::string& EcmpLoadBalance::destination_ip_str ( ) const
inline

Definition at line 42 of file ecmp_load_balance.h.

◆ destination_port_str()

const std::string& EcmpLoadBalance::destination_port_str ( ) const
inline

Definition at line 48 of file ecmp_load_balance.h.

◆ GetStringVector()

void EcmpLoadBalance::GetStringVector ( std::vector< std::string > &  string_vector) const
inline

Definition at line 55 of file ecmp_load_balance.h.

◆ ip_protocol_str()

const std::string& EcmpLoadBalance::ip_protocol_str ( ) const
inline

Definition at line 51 of file ecmp_load_balance.h.

◆ is_destination_ip_set()

bool EcmpLoadBalance::is_destination_ip_set ( ) const
inline

Definition at line 143 of file ecmp_load_balance.h.

◆ is_destination_port_set()

bool EcmpLoadBalance::is_destination_port_set ( ) const
inline

Definition at line 149 of file ecmp_load_balance.h.

◆ is_ip_protocol_set()

bool EcmpLoadBalance::is_ip_protocol_set ( ) const
inline

Definition at line 152 of file ecmp_load_balance.h.

◆ is_source_ip_set()

bool EcmpLoadBalance::is_source_ip_set ( ) const
inline

Definition at line 140 of file ecmp_load_balance.h.

◆ is_source_port_set()

bool EcmpLoadBalance::is_source_port_set ( ) const
inline

Definition at line 146 of file ecmp_load_balance.h.

◆ operator!=()

bool EcmpLoadBalance::operator!= ( const EcmpLoadBalance rhs) const
inline

Definition at line 64 of file ecmp_load_balance.h.

◆ reset()

void EcmpLoadBalance::reset ( )
inline

Definition at line 156 of file ecmp_load_balance.h.

◆ reset_destination_ip()

void EcmpLoadBalance::reset_destination_ip ( )
inline

Definition at line 118 of file ecmp_load_balance.h.

◆ reset_destination_port()

void EcmpLoadBalance::reset_destination_port ( )
inline

Definition at line 136 of file ecmp_load_balance.h.

◆ reset_ip_protocol()

void EcmpLoadBalance::reset_ip_protocol ( )
inline

Definition at line 124 of file ecmp_load_balance.h.

◆ reset_source_ip()

void EcmpLoadBalance::reset_source_ip ( )
inline

Definition at line 112 of file ecmp_load_balance.h.

◆ reset_source_port()

void EcmpLoadBalance::reset_source_port ( )
inline

Definition at line 130 of file ecmp_load_balance.h.

◆ ResetAll()

void EcmpLoadBalance::ResetAll ( )
inline

Definition at line 92 of file ecmp_load_balance.h.

◆ set_destination_ip()

void EcmpLoadBalance::set_destination_ip ( )
inline

Definition at line 115 of file ecmp_load_balance.h.

◆ set_destination_port()

void EcmpLoadBalance::set_destination_port ( )
inline

Definition at line 133 of file ecmp_load_balance.h.

◆ set_ip_protocol()

void EcmpLoadBalance::set_ip_protocol ( )
inline

Definition at line 121 of file ecmp_load_balance.h.

◆ set_source_ip()

void EcmpLoadBalance::set_source_ip ( )
inline

Definition at line 109 of file ecmp_load_balance.h.

◆ set_source_port()

void EcmpLoadBalance::set_source_port ( )
inline

Definition at line 127 of file ecmp_load_balance.h.

◆ SetAll()

void EcmpLoadBalance::SetAll ( )
inline

Definition at line 84 of file ecmp_load_balance.h.

◆ source_ip_str()

const std::string& EcmpLoadBalance::source_ip_str ( ) const
inline

Definition at line 39 of file ecmp_load_balance.h.

◆ source_port_str()

const std::string& EcmpLoadBalance::source_port_str ( ) const
inline

Definition at line 45 of file ecmp_load_balance.h.

◆ UpdateFields()

bool EcmpLoadBalance::UpdateFields ( const autogen::EcmpHashingIncludeFields &  ecmp_hashing_fields)
inline

Definition at line 164 of file ecmp_load_balance.h.

Member Data Documentation

◆ hash_fields_to_use_

bool EcmpLoadBalance::hash_fields_to_use_[NUM_HASH_FIELDS]
private

Definition at line 198 of file ecmp_load_balance.h.


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