OpenSDN source code
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

◆ Family

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::Address ( )

Definition at line 12 of file address.cc.

Member Function Documentation

◆ FamilyFromString()

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

Definition at line 54 of file address.cc.

◆ FamilyToString()

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

Definition at line 63 of file address.cc.

◆ FamilyToTableString()

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

Definition at line 67 of file address.cc.

◆ GetIp4SubnetAddress()

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

Definition at line 179 of file address.cc.

◆ GetIp6SubnetAddress()

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

Definition at line 200 of file address.cc.

◆ V4FromV4MappedV6()

Ip4Address Address::V4FromV4MappedV6 ( const Ip6Address v6_address)
static

Definition at line 291 of file address.cc.

◆ VpnFamilyFromFamily()

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

Definition at line 71 of file address.cc.

Member Data Documentation

◆ addr_

IpAddress Address::addr_
private

Definition at line 51 of file address.h.

◆ kMaxV4Bytes

const uint8_t Address::kMaxV4Bytes = 4
static

Definition at line 19 of file address.h.

◆ kMaxV4PrefixLen

const uint8_t Address::kMaxV4PrefixLen = 32
static

Definition at line 20 of file address.h.

◆ kMaxV6Bytes

const uint8_t Address::kMaxV6Bytes = 16
static

Definition at line 21 of file address.h.

◆ kMaxV6PrefixLen

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: