OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MetaDataIp Class Reference

#include <metadata_ip.h>

Collaboration diagram for MetaDataIp:

Public Types

enum  MetaDataIpType { LINKLOCAL = 0, HEALTH_CHECK, INVALID }
 

Public Member Functions

 MetaDataIp (MetaDataIpAllocator *allocator, VmInterface *intf, MetaDataIpType type, bool insert_metadata_ip, bool ipv4=true)
 
 MetaDataIp (MetaDataIpAllocator *allocator, VmInterface *intf, uint16_t index, bool ipv4=true)
 
 ~MetaDataIp ()
 
IpAddress GetLinkLocalIp () const
 
Ip4Address GetLinkLocalIp4 () const
 
Ip6Address GetLinkLocalIp6 () const
 
IpAddress service_ip () const
 
IpAddress destination_ip () const
 
void set_destination_ip (const IpAddress &dst_ip)
 
void set_active (bool active)
 
void UpdateInterfaceCb ()
 
const InterfaceGetInterface () const
 
template<>
Ip4Address IndexToIpAddress (uint32_t idx)
 
template<>
Ip6Address IndexToIpAddress (uint32_t idx)
 
template<>
uint32_t IpAddressToIndex (const Ip4Address &ip)
 
template<>
uint32_t IpAddressToIndex (const Ip6Address &ip)
 
template<>
Ip4Address IndexToIpAddress (uint32_t idx)
 
template<>
Ip6Address IndexToIpAddress (uint32_t idx)
 
template<>
uint32_t IpAddressToIndex (const Ip4Address &ip)
 
template<>
uint32_t IpAddressToIndex (const Ip6Address &ip)
 

Static Public Member Functions

template<class IpT >
static IpT IndexToIpAddress (uint32_t idx)
 
template<class IpT >
static uint32_t IpAddressToIndex (const IpT &ip)
 

Static Public Attributes

static const IpAddress kDefaultIp
 

Private Member Functions

void UpdateRoute ()
 
 DISALLOW_COPY_AND_ASSIGN (MetaDataIp)
 

Private Attributes

MetaDataIpAllocatorallocator_
 
uint16_t index_
 
VmInterfaceintf_
 
uint32_t intf_label_
 
IpAddress service_ip_
 
IpAddress destination_ip_
 
bool active_
 
MetaDataIpType type_
 
bool insert_metadata_ip_
 
bool ipv4_
 

Friends

class MetaDataIpAllocator
 

Detailed Description

Definition at line 29 of file metadata_ip.h.

Member Enumeration Documentation

Enumerator
LINKLOCAL 
HEALTH_CHECK 
INVALID 

Definition at line 33 of file metadata_ip.h.

Constructor & Destructor Documentation

MetaDataIp::MetaDataIp ( MetaDataIpAllocator allocator,
VmInterface intf,
MetaDataIpType  type,
bool  insert_metadata_ip,
bool  ipv4 = true 
)

Definition at line 14 of file metadata_ip.cc.

Here is the call graph for this function:

MetaDataIp::MetaDataIp ( MetaDataIpAllocator allocator,
VmInterface intf,
uint16_t  index,
bool  ipv4 = true 
)

Definition at line 26 of file metadata_ip.cc.

Here is the call graph for this function:

MetaDataIp::~MetaDataIp ( )

Definition at line 35 of file metadata_ip.cc.

Here is the call graph for this function:

Member Function Documentation

IpAddress MetaDataIp::destination_ip ( ) const

Definition at line 119 of file metadata_ip.cc.

Here is the call graph for this function:

MetaDataIp::DISALLOW_COPY_AND_ASSIGN ( MetaDataIp  )
private
const Interface * MetaDataIp::GetInterface ( ) const

Definition at line 145 of file metadata_ip.cc.

IpAddress MetaDataIp::GetLinkLocalIp ( ) const

Definition at line 79 of file metadata_ip.cc.

Here is the call graph for this function:

Ip4Address MetaDataIp::GetLinkLocalIp4 ( ) const

Definition at line 86 of file metadata_ip.cc.

Ip6Address MetaDataIp::GetLinkLocalIp6 ( ) const

Definition at line 90 of file metadata_ip.cc.

template<class IpT >
static IpT MetaDataIp::IndexToIpAddress ( uint32_t  idx)
inlinestatic

Definition at line 46 of file metadata_ip.h.

template<>
Ip4Address MetaDataIp::IndexToIpAddress ( uint32_t  idx)

Definition at line 49 of file metadata_ip.cc.

template<>
Ip6Address MetaDataIp::IndexToIpAddress ( uint32_t  idx)

Definition at line 56 of file metadata_ip.cc.

template<>
Ip4Address MetaDataIp::IndexToIpAddress ( uint32_t  idx)
template<>
Ip6Address MetaDataIp::IndexToIpAddress ( uint32_t  idx)
template<class IpT >
static uint32_t MetaDataIp::IpAddressToIndex ( const IpT &  ip)
inlinestatic

Definition at line 49 of file metadata_ip.h.

template<>
uint32_t MetaDataIp::IpAddressToIndex ( const Ip4Address ip)

Definition at line 65 of file metadata_ip.cc.

template<>
uint32_t MetaDataIp::IpAddressToIndex ( const Ip6Address ip)

Definition at line 74 of file metadata_ip.cc.

template<>
uint32_t MetaDataIp::IpAddressToIndex ( const Ip4Address ip)
template<>
uint32_t MetaDataIp::IpAddressToIndex ( const Ip6Address ip)
IpAddress MetaDataIp::service_ip ( ) const

Definition at line 94 of file metadata_ip.cc.

Here is the call graph for this function:

void MetaDataIp::set_active ( bool  active)

Definition at line 130 of file metadata_ip.cc.

Here is the call graph for this function:

void MetaDataIp::set_destination_ip ( const IpAddress dst_ip)

Definition at line 126 of file metadata_ip.cc.

void MetaDataIp::UpdateInterfaceCb ( )

Definition at line 138 of file metadata_ip.cc.

Here is the call graph for this function:

void MetaDataIp::UpdateRoute ( )
private

Definition at line 149 of file metadata_ip.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class MetaDataIpAllocator
friend

Definition at line 71 of file metadata_ip.h.

Member Data Documentation

bool MetaDataIp::active_
private

Definition at line 83 of file metadata_ip.h.

MetaDataIpAllocator* MetaDataIp::allocator_
private

Definition at line 75 of file metadata_ip.h.

IpAddress MetaDataIp::destination_ip_
private

Definition at line 82 of file metadata_ip.h.

uint16_t MetaDataIp::index_
private

Definition at line 77 of file metadata_ip.h.

bool MetaDataIp::insert_metadata_ip_
private

Definition at line 85 of file metadata_ip.h.

VmInterface* MetaDataIp::intf_
private

Definition at line 79 of file metadata_ip.h.

uint32_t MetaDataIp::intf_label_
private

Definition at line 80 of file metadata_ip.h.

bool MetaDataIp::ipv4_
private

Definition at line 86 of file metadata_ip.h.

const IpAddress MetaDataIp::kDefaultIp
static

Definition at line 31 of file metadata_ip.h.

IpAddress MetaDataIp::service_ip_
private

Definition at line 81 of file metadata_ip.h.

MetaDataIpType MetaDataIp::type_
private

Definition at line 84 of file metadata_ip.h.


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