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 25 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 27 of file ecmp_load_balance.h.

Constructor & Destructor Documentation

◆ EcmpLoadBalance()

EcmpLoadBalance::EcmpLoadBalance ( )
inline

Definition at line 36 of file ecmp_load_balance.h.

Here is the call graph for this function:

◆ ~EcmpLoadBalance()

virtual EcmpLoadBalance::~EcmpLoadBalance ( )
inlinevirtual

Definition at line 39 of file ecmp_load_balance.h.

Member Function Documentation

◆ AllSet()

bool EcmpLoadBalance::AllSet ( ) const
inline

Definition at line 102 of file ecmp_load_balance.h.

◆ Copy()

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

Definition at line 77 of file ecmp_load_balance.h.

◆ destination_ip_str()

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

Definition at line 44 of file ecmp_load_balance.h.

◆ destination_port_str()

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

Definition at line 50 of file ecmp_load_balance.h.

◆ GetStringVector()

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

Definition at line 57 of file ecmp_load_balance.h.

◆ ip_protocol_str()

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

Definition at line 53 of file ecmp_load_balance.h.

◆ is_destination_ip_set()

bool EcmpLoadBalance::is_destination_ip_set ( ) const
inline

Definition at line 145 of file ecmp_load_balance.h.

◆ is_destination_port_set()

bool EcmpLoadBalance::is_destination_port_set ( ) const
inline

Definition at line 151 of file ecmp_load_balance.h.

◆ is_ip_protocol_set()

bool EcmpLoadBalance::is_ip_protocol_set ( ) const
inline

Definition at line 154 of file ecmp_load_balance.h.

◆ is_source_ip_set()

bool EcmpLoadBalance::is_source_ip_set ( ) const
inline

Definition at line 142 of file ecmp_load_balance.h.

◆ is_source_port_set()

bool EcmpLoadBalance::is_source_port_set ( ) const
inline

Definition at line 148 of file ecmp_load_balance.h.

◆ operator!=()

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

Definition at line 66 of file ecmp_load_balance.h.

◆ reset()

void EcmpLoadBalance::reset ( )
inline

Definition at line 158 of file ecmp_load_balance.h.

◆ reset_destination_ip()

void EcmpLoadBalance::reset_destination_ip ( )
inline

Definition at line 120 of file ecmp_load_balance.h.

◆ reset_destination_port()

void EcmpLoadBalance::reset_destination_port ( )
inline

Definition at line 138 of file ecmp_load_balance.h.

◆ reset_ip_protocol()

void EcmpLoadBalance::reset_ip_protocol ( )
inline

Definition at line 126 of file ecmp_load_balance.h.

◆ reset_source_ip()

void EcmpLoadBalance::reset_source_ip ( )
inline

Definition at line 114 of file ecmp_load_balance.h.

◆ reset_source_port()

void EcmpLoadBalance::reset_source_port ( )
inline

Definition at line 132 of file ecmp_load_balance.h.

◆ ResetAll()

void EcmpLoadBalance::ResetAll ( )
inline

Definition at line 94 of file ecmp_load_balance.h.

◆ set_destination_ip()

void EcmpLoadBalance::set_destination_ip ( )
inline

Definition at line 117 of file ecmp_load_balance.h.

◆ set_destination_port()

void EcmpLoadBalance::set_destination_port ( )
inline

Definition at line 135 of file ecmp_load_balance.h.

◆ set_ip_protocol()

void EcmpLoadBalance::set_ip_protocol ( )
inline

Definition at line 123 of file ecmp_load_balance.h.

◆ set_source_ip()

void EcmpLoadBalance::set_source_ip ( )
inline

Definition at line 111 of file ecmp_load_balance.h.

◆ set_source_port()

void EcmpLoadBalance::set_source_port ( )
inline

Definition at line 129 of file ecmp_load_balance.h.

◆ SetAll()

void EcmpLoadBalance::SetAll ( )
inline

Definition at line 86 of file ecmp_load_balance.h.

◆ source_ip_str()

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

Definition at line 41 of file ecmp_load_balance.h.

◆ source_port_str()

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

Definition at line 47 of file ecmp_load_balance.h.

◆ UpdateFields()

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

Definition at line 166 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 200 of file ecmp_load_balance.h.


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