OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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 ( )
inline

Definition at line 34 of file ecmp_load_balance.h.

Here is the call graph for this function:

virtual EcmpLoadBalance::~EcmpLoadBalance ( )
inlinevirtual

Definition at line 37 of file ecmp_load_balance.h.

Member Function Documentation

bool EcmpLoadBalance::AllSet ( ) const
inline

Definition at line 100 of file ecmp_load_balance.h.

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

Definition at line 75 of file ecmp_load_balance.h.

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

Definition at line 42 of file ecmp_load_balance.h.

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

Definition at line 48 of file ecmp_load_balance.h.

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

Definition at line 55 of file ecmp_load_balance.h.

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

Definition at line 51 of file ecmp_load_balance.h.

bool EcmpLoadBalance::is_destination_ip_set ( ) const
inline

Definition at line 143 of file ecmp_load_balance.h.

bool EcmpLoadBalance::is_destination_port_set ( ) const
inline

Definition at line 149 of file ecmp_load_balance.h.

bool EcmpLoadBalance::is_ip_protocol_set ( ) const
inline

Definition at line 152 of file ecmp_load_balance.h.

bool EcmpLoadBalance::is_source_ip_set ( ) const
inline

Definition at line 140 of file ecmp_load_balance.h.

bool EcmpLoadBalance::is_source_port_set ( ) const
inline

Definition at line 146 of file ecmp_load_balance.h.

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

Definition at line 64 of file ecmp_load_balance.h.

void EcmpLoadBalance::reset ( )
inline

Definition at line 156 of file ecmp_load_balance.h.

void EcmpLoadBalance::reset_destination_ip ( )
inline

Definition at line 118 of file ecmp_load_balance.h.

void EcmpLoadBalance::reset_destination_port ( )
inline

Definition at line 136 of file ecmp_load_balance.h.

void EcmpLoadBalance::reset_ip_protocol ( )
inline

Definition at line 124 of file ecmp_load_balance.h.

void EcmpLoadBalance::reset_source_ip ( )
inline

Definition at line 112 of file ecmp_load_balance.h.

void EcmpLoadBalance::reset_source_port ( )
inline

Definition at line 130 of file ecmp_load_balance.h.

void EcmpLoadBalance::ResetAll ( )
inline

Definition at line 92 of file ecmp_load_balance.h.

void EcmpLoadBalance::set_destination_ip ( )
inline

Definition at line 115 of file ecmp_load_balance.h.

void EcmpLoadBalance::set_destination_port ( )
inline

Definition at line 133 of file ecmp_load_balance.h.

void EcmpLoadBalance::set_ip_protocol ( )
inline

Definition at line 121 of file ecmp_load_balance.h.

void EcmpLoadBalance::set_source_ip ( )
inline

Definition at line 109 of file ecmp_load_balance.h.

void EcmpLoadBalance::set_source_port ( )
inline

Definition at line 127 of file ecmp_load_balance.h.

void EcmpLoadBalance::SetAll ( )
inline

Definition at line 84 of file ecmp_load_balance.h.

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

Definition at line 39 of file ecmp_load_balance.h.

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

Definition at line 45 of file ecmp_load_balance.h.

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

Definition at line 165 of file ecmp_load_balance.h.

Member Data Documentation

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: