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

#include <address.h>

Collaboration diagram for Address:

Public Types

enum  Family {
  UNSPEC = 0, INET = 1, INET6 = 2, INETVPN = 3,
  INET6VPN = 4, RTARGET = 5, EVPN = 6, ERMVPN = 7,
  MVPN = 8, INETMPLS = 9, NUM_FAMILIES
}
 

Public Member Functions

 Address ()
 

Static Public Member Functions

static Family FamilyFromString (const std::string &family)
 
static std::string FamilyToString (Family fmly)
 
static std::string FamilyToTableString (Family family)
 
static Family VpnFamilyFromFamily (Family family)
 
static Ip4Address V4FromV4MappedV6 (const Ip6Address &v6_address)
 
static Ip4Address GetIp4SubnetAddress (const Ip4Address &prefix, uint16_t plen)
 
static Ip6Address GetIp6SubnetAddress (const Ip6Address &prefix, uint16_t plen)
 

Static Public Attributes

static const uint8_t kMaxV4Bytes = 4
 
static const uint8_t kMaxV4PrefixLen = 32
 
static const uint8_t kMaxV6Bytes = 16
 
static const uint8_t kMaxV6PrefixLen = 128
 

Private Attributes

IpAddress addr_
 

Detailed Description

Definition at line 17 of file address.h.

Member Enumeration Documentation

Enumerator
UNSPEC 
INET 
INET6 
INETVPN 
INET6VPN 
RTARGET 
EVPN 
ERMVPN 
MVPN 
INETMPLS 
NUM_FAMILIES 

Definition at line 24 of file address.h.

Constructor & Destructor Documentation

Address::Address ( )

Definition at line 12 of file address.cc.

Member Function Documentation

Address::Family Address::FamilyFromString ( const std::string &  family)
static

Definition at line 54 of file address.cc.

std::string Address::FamilyToString ( Address::Family  family)
static

Definition at line 63 of file address.cc.

std::string Address::FamilyToTableString ( Address::Family  family)
static

Definition at line 67 of file address.cc.

Ip4Address Address::GetIp4SubnetAddress ( const Ip4Address prefix,
uint16_t  plen 
)
static

Definition at line 179 of file address.cc.

Ip6Address Address::GetIp6SubnetAddress ( const Ip6Address prefix,
uint16_t  plen 
)
static

Definition at line 200 of file address.cc.

Ip4Address Address::V4FromV4MappedV6 ( const Ip6Address v6_address)
static

Definition at line 291 of file address.cc.

Address::Family Address::VpnFamilyFromFamily ( Address::Family  family)
static

Definition at line 71 of file address.cc.

Member Data Documentation

IpAddress Address::addr_
private

Definition at line 51 of file address.h.

const uint8_t Address::kMaxV4Bytes = 4
static

Definition at line 19 of file address.h.

const uint8_t Address::kMaxV4PrefixLen = 32
static

Definition at line 20 of file address.h.

const uint8_t Address::kMaxV6Bytes = 16
static

Definition at line 21 of file address.h.

const uint8_t Address::kMaxV6PrefixLen = 128
static

Definition at line 22 of file address.h.


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