OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
VmInterface::FloatingIp Struct Reference

#include <vm_interface.h>

Inheritance diagram for VmInterface::FloatingIp:
Collaboration diagram for VmInterface::FloatingIp:

Classes

struct  PortMapKey
 

Public Types

enum  Direction { DIRECTION_BOTH, DIRECTION_INGRESS, DIRECTION_EGRESS, DIRECTION_INVALID }
 
typedef std::map< PortMapKey,
uint16_t, PortMapKey
PortMap
 
typedef PortMap::iterator PortMapIterator
 
- Public Types inherited from VmInterfaceState
enum  Op { INVALID, ADD, DEL_ADD, DEL }
 

Public Member Functions

 FloatingIp ()
 
 FloatingIp (const FloatingIp &rhs)
 
 FloatingIp (const IpAddress &addr, const std::string &vrf, const boost::uuids::uuid &vn_uuid, const IpAddress &ip, Direction direction, bool port_mappng_enabled, const PortMap &src_port_map, const PortMap &dst_port_map, bool port_nat)
 
virtual ~FloatingIp ()
 
bool operator() (const FloatingIp &lhs, const FloatingIp &rhs) const
 
bool IsLess (const FloatingIp *rhs) const
 
bool port_map_enabled () const
 
Direction direction () const
 
const IpAddress GetFixedIp (const VmInterface *) const
 
uint32_t PortMappingSize () const
 
int32_t GetSrcPortMap (uint8_t protocol, uint16_t src_port) const
 
int32_t GetDstPortMap (uint8_t protocol, uint16_t dst_port) const
 
bool AllowDNat () const
 
bool AllowSNat () const
 
void Copy (const Agent *agent, const VmInterface *vmi) const
 
VmInterfaceState::Op GetOpL3 (const Agent *agent, const VmInterface *vmi) const
 
bool AddL3 (const Agent *agent, VmInterface *vmi) const
 
bool DeleteL3 (const Agent *agent, VmInterface *vmi) const
 
VmInterfaceState::Op GetOpL2 (const Agent *agent, const VmInterface *vmi) const
 
bool AddL2 (const Agent *agent, VmInterface *vmi) const
 
bool DeleteL2 (const Agent *agent, VmInterface *vmi) const
 
bool port_nat () const
 
- Public Member Functions inherited from VmInterface::ListEntry
 ListEntry ()
 
 ListEntry (bool del_pending)
 
virtual ~ListEntry ()
 
bool del_pending () const
 
void set_del_pending (bool val) const
 
VmInterfaceState::Op GetOp (VmInterfaceState::Op op) const
 
- Public Member Functions inherited from VmInterfaceState
 VmInterfaceState ()
 
 VmInterfaceState (bool l2_installed, bool l3_installed)
 
virtual ~VmInterfaceState ()
 
bool Installed () const
 
virtual bool Update (const Agent *agent, VmInterface *vmi, Op l2_force_op, Op l3_force_op) const
 

Public Attributes

IpAddress floating_ip_
 
VnEntryRef vn_
 
VrfEntryRef vrf_
 
std::string vrf_name_
 
boost::uuids::uuid vn_uuid_
 
IpAddress fixed_ip_
 
Direction direction_
 
bool port_map_enabled_
 
PortMap src_port_map_
 
PortMap dst_port_map_
 
uint32_t ethernet_tag_
 
bool port_nat_
 
- Public Attributes inherited from VmInterface::ListEntry
bool del_pending_
 
- Public Attributes inherited from VmInterfaceState
bool l2_installed_
 
bool l3_installed_
 

Additional Inherited Members

- Static Public Member Functions inherited from VmInterfaceState
static Op RecomputeOp (Op old_op, Op new_op)
 

Detailed Description

Definition at line 486 of file vm_interface.h.

Member Typedef Documentation

Definition at line 509 of file vm_interface.h.

typedef PortMap::iterator VmInterface::FloatingIp::PortMapIterator

Definition at line 510 of file vm_interface.h.

Member Enumeration Documentation

Enumerator
DIRECTION_BOTH 
DIRECTION_INGRESS 
DIRECTION_EGRESS 
DIRECTION_INVALID 

Definition at line 487 of file vm_interface.h.

Constructor & Destructor Documentation

VmInterface::FloatingIp::FloatingIp ( )

Definition at line 2039 of file vm_interface.cc.

VmInterface::FloatingIp::FloatingIp ( const FloatingIp rhs)

Definition at line 2046 of file vm_interface.cc.

VmInterface::FloatingIp::FloatingIp ( const IpAddress addr,
const std::string &  vrf,
const boost::uuids::uuid vn_uuid,
const IpAddress ip,
Direction  direction,
bool  port_mappng_enabled,
const PortMap src_port_map,
const PortMap dst_port_map,
bool  port_nat 
)

Definition at line 2056 of file vm_interface.cc.

VmInterface::FloatingIp::~FloatingIp ( )
virtual

Definition at line 2072 of file vm_interface.cc.

Member Function Documentation

bool VmInterface::FloatingIp::AddL2 ( const Agent agent,
VmInterface vmi 
) const
virtual

Reimplemented from VmInterfaceState.

Definition at line 2220 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::FloatingIp::AddL3 ( const Agent agent,
VmInterface vmi 
) const
virtual

Reimplemented from VmInterfaceState.

Definition at line 2161 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::FloatingIp::AllowDNat ( ) const
inline

Definition at line 532 of file vm_interface.h.

bool VmInterface::FloatingIp::AllowSNat ( ) const
inline

Definition at line 538 of file vm_interface.h.

void VmInterface::FloatingIp::Copy ( const Agent agent,
const VmInterface vmi 
) const
virtual

Reimplemented from VmInterfaceState.

Definition at line 2129 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::FloatingIp::DeleteL2 ( const Agent agent,
VmInterface vmi 
) const
virtual

Reimplemented from VmInterfaceState.

Definition at line 2249 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::FloatingIp::DeleteL3 ( const Agent agent,
VmInterface vmi 
) const
virtual

Reimplemented from VmInterfaceState.

Definition at line 2188 of file vm_interface.cc.

Here is the call graph for this function:

Direction VmInterface::FloatingIp::direction ( ) const
inline

Definition at line 524 of file vm_interface.h.

int32_t VmInterface::FloatingIp::GetDstPortMap ( uint8_t  protocol,
uint16_t  dst_port 
) const

Definition at line 2121 of file vm_interface.cc.

const IpAddress VmInterface::FloatingIp::GetFixedIp ( const VmInterface vmi) const

Definition at line 2090 of file vm_interface.cc.

Here is the call graph for this function:

VmInterfaceState::Op VmInterface::FloatingIp::GetOpL2 ( const Agent agent,
const VmInterface vmi 
) const
virtual

Reimplemented from VmInterfaceState.

Definition at line 2207 of file vm_interface.cc.

Here is the call graph for this function:

VmInterfaceState::Op VmInterface::FloatingIp::GetOpL3 ( const Agent agent,
const VmInterface vmi 
) const
virtual

Reimplemented from VmInterfaceState.

Definition at line 2151 of file vm_interface.cc.

Here is the call graph for this function:

int32_t VmInterface::FloatingIp::GetSrcPortMap ( uint8_t  protocol,
uint16_t  src_port 
) const

Definition at line 2113 of file vm_interface.cc.

bool VmInterface::FloatingIp::IsLess ( const FloatingIp rhs) const

Definition at line 2082 of file vm_interface.cc.

bool VmInterface::FloatingIp::operator() ( const FloatingIp lhs,
const FloatingIp rhs 
) const

Definition at line 2075 of file vm_interface.cc.

Here is the call graph for this function:

bool VmInterface::FloatingIp::port_map_enabled ( ) const

Definition at line 2101 of file vm_interface.cc.

bool VmInterface::FloatingIp::port_nat ( ) const

Definition at line 2109 of file vm_interface.cc.

uint32_t VmInterface::FloatingIp::PortMappingSize ( ) const

Definition at line 2105 of file vm_interface.cc.

Member Data Documentation

Direction VmInterface::FloatingIp::direction_
mutable

Definition at line 560 of file vm_interface.h.

PortMap VmInterface::FloatingIp::dst_port_map_
mutable

Definition at line 563 of file vm_interface.h.

uint32_t VmInterface::FloatingIp::ethernet_tag_
mutable

Definition at line 564 of file vm_interface.h.

IpAddress VmInterface::FloatingIp::fixed_ip_
mutable

Definition at line 559 of file vm_interface.h.

IpAddress VmInterface::FloatingIp::floating_ip_

Definition at line 554 of file vm_interface.h.

bool VmInterface::FloatingIp::port_map_enabled_
mutable

Definition at line 561 of file vm_interface.h.

bool VmInterface::FloatingIp::port_nat_
mutable

Definition at line 565 of file vm_interface.h.

PortMap VmInterface::FloatingIp::src_port_map_
mutable

Definition at line 562 of file vm_interface.h.

VnEntryRef VmInterface::FloatingIp::vn_
mutable

Definition at line 555 of file vm_interface.h.

boost::uuids::uuid VmInterface::FloatingIp::vn_uuid_

Definition at line 558 of file vm_interface.h.

VrfEntryRef VmInterface::FloatingIp::vrf_
mutable

Definition at line 556 of file vm_interface.h.

std::string VmInterface::FloatingIp::vrf_name_

Definition at line 557 of file vm_interface.h.


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