OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dhcpv6_handler.h File Reference
Include dependency graph for dhcpv6_handler.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Dhcpv6Options
 
struct  Dhcpv6Hdr
 
struct  Dhcpv6Ia
 
struct  Dhcpv6IaAddr
 
class  Dhcpv6Handler
 
struct  Dhcpv6Handler::Dhcpv6IaData
 
struct  Dhcpv6Handler::Dhcpv6OptionHandler
 

Macros

#define ALL_DHCPV6_SERVERS_ADDRESS   "FF05::1:3"
 
#define ALL_DHCPV6_RELAYAGENTS_SERVERS_ADDRESS   "FF05::1:3"
 
#define DHCPV6_OPTION_UNKNOWN   0
 
#define DHCPV6_OPTION_CLIENTID   1
 
#define DHCPV6_OPTION_SERVERID   2
 
#define DHCPV6_OPTION_IA_NA   3
 
#define DHCPV6_OPTION_IA_TA   4
 
#define DHCPV6_OPTION_IAADDR   5
 
#define DHCPV6_OPTION_ORO   6
 
#define DHCPV6_OPTION_PREFERENCE   7
 
#define DHCPV6_OPTION_ELAPSED_TIME   8
 
#define DHCPV6_OPTION_RELAY_MSG   9
 
#define DHCPV6_OPTION_AUTH   11
 
#define DHCPV6_OPTION_UNICAST   12
 
#define DHCPV6_OPTION_STATUS_CODE   13
 
#define DHCPV6_OPTION_RAPID_COMMIT   14
 
#define DHCPV6_OPTION_USER_CLASS   15
 
#define DHCPV6_OPTION_VENDOR_CLASS   16
 
#define DHCPV6_OPTION_VENDOR_OPTS   17
 
#define DHCPV6_OPTION_INTERFACE_ID   18
 
#define DHCPV6_OPTION_RECONF_MSG   19
 
#define DHCPV6_OPTION_RECONF_ACCEPT   20
 
#define DHCPV6_OPTION_SIP_SERVER_D   21
 
#define DHCPV6_OPTION_SIP_SERVER_A   22
 
#define DHCPV6_OPTION_DNS_SERVERS   23
 
#define DHCPV6_OPTION_DOMAIN_LIST   24
 
#define DHCPV6_OPTION_IA_PD   25
 
#define DHCPV6_OPTION_IAPREFIX   26
 
#define DHCPV6_OPTION_NIS_SERVERS   27
 
#define DHCPV6_OPTION_NISP_SERVERS   28
 
#define DHCPV6_OPTION_NIS_DOMAIN_NAME   29
 
#define DHCPV6_OPTION_NISP_DOMAIN_NAME   30
 
#define DHCPV6_OPTION_SNTP_SERVERS   31
 
#define DHCPV6_OPTION_INFORMATION_REFRESH_TIME   32
 
#define DHCPV6_OPTION_BCMCS_SERVER_D   33
 
#define DHCPV6_OPTION_BCMCS_SERVER_A   34
 
#define DHCPV6_OPTION_GEOCONF_CIVIC   36
 
#define DHCPV6_OPTION_REMOTE_ID   37
 
#define DHCPV6_OPTION_SUBSCRIBER_ID   38
 
#define DHCPV6_OPTION_CLIENT_FQDN   39
 
#define DHCPV6_OPTION_PANA_AGENT   40
 
#define DHCPV6_OPTION_NEW_POSIX_TIMEZONE   41
 
#define DHCPV6_OPTION_NEW_TZDB_TIMEZONE   42
 
#define DHCPV6_OPTION_ERO   43
 
#define DHCPV6_OPTION_LQ_QUERY   44
 
#define DHCPV6_OPTION_CLIENT_DATA   45
 
#define DHCPV6_OPTION_CLT_TIME   46
 
#define DHCPV6_OPTION_LQ_RELAY_DATA   47
 
#define DHCPV6_OPTION_LQ_CLIENT_LINK   48
 
#define DHCPV6_OPTION_MIP6_HNIDF   49
 
#define DHCPV6_OPTION_MIP6_VDINF   50
 
#define DHCPV6_OPTION_V6_LOST   51
 
#define DHCPV6_OPTION_CAPWAP_AC_V6   52
 
#define DHCPV6_OPTION_RELAY_ID   53
 
#define DHCPV6_OPTION_IPv6_Address_MoS   54
 
#define DHCPV6_OPTION_IPv6_FQDN_MoS   55
 
#define DHCPV6_OPTION_NTP_SERVER   56
 
#define DHCPV6_OPTION_V6_ACCESS_DOMAIN   57
 
#define DHCPV6_OPTION_SIP_UA_CS_LIST   58
 
#define DHCPV6_OPT_BOOTFILE_URL   59
 
#define DHCPV6_OPT_BOOTFILE_PARAM   60
 
#define DHCPV6_OPTION_CLIENT_ARCH_TYPE   61
 
#define DHCPV6_OPTION_NII   62
 
#define DHCPV6_OPTION_GEOLOCATION   63
 
#define DHCPV6_OPTION_AFTR_NAME   64
 
#define DHCPV6_OPTION_ERP_LOCAL_DOMAIN_NAME   65
 
#define DHCPV6_OPTION_RSOO   66
 
#define DHCPV6_OPTION_PD_EXCLUDE   67
 
#define DHCPV6_OPTION_VSS   68
 
#define DHCPV6_OPTION_MIP6_IDINF   69
 
#define DHCPV6_OPTION_MIP6_UDINF   70
 
#define DHCPV6_OPTION_MIP6_HNP   71
 
#define DHCPV6_OPTION_MIP6_HAA   72
 
#define DHCPV6_OPTION_MIP6_HAF   73
 
#define DHCPV6_OPTION_RDNSS_SELECTION   74
 
#define DHCPV6_OPTION_KRB_PRINCIPAL_NAME   75
 
#define DHCPV6_OPTION_KRB_REALM_NAME   76
 
#define DHCPV6_OPTION_KRB_DEFAULT_REALM_NAME   77
 
#define DHCPV6_OPTION_KRB_KDC   78
 
#define DHCPV6_OPTION_CLIENT_LINKLAYER_ADDR   79
 
#define DHCPV6_OPTION_LINK_ADDRESS   80
 
#define DHCPV6_OPTION_RADIUS   81
 
#define DHCPV6_OPTION_SOL_MAX_RT   82
 
#define DHCPV6_OPTION_INF_MAX_RT   83
 
#define DHCPV6_OPTION_ADDRSEL   84
 
#define DHCPV6_OPTION_ADDRSEL_TABLE   85
 
#define DHCPV6_OPTION_V6_PCP_SERVER   86
 
#define DHCPV6_OPTION_DHCPV4_MSG   87
 
#define DHCPV6_OPTION_DHCP4_O_DHCP6_SERVER   88
 
#define DHCPV6_OPTION_S46_RULE   89
 
#define DHCPV6_OPTION_S46_BR   90
 
#define DHCPV6_OPTION_S46_DMR   91
 
#define DHCPV6_OPTION_S46_V4V6BIND   92
 
#define DHCPV6_OPTION_S46_PORTPARAMS   93
 
#define DHCPV6_OPTION_S46_CONT_MAPE   94
 
#define DHCPV6_OPTION_S46_CONT_MAPT   95
 
#define DHCPV6_OPTION_S46_CONT_LW   96
 
#define DHCPV6_OPTION_IPv6_ADDRESS_ANDSF   143
 
#define DHCPV6_UNKNOWN   0
 
#define DHCPV6_SOLICIT   1
 
#define DHCPV6_ADVERTISE   2
 
#define DHCPV6_REQUEST   3
 
#define DHCPV6_CONFIRM   4
 
#define DHCPV6_RENEW   5
 
#define DHCPV6_REBIND   6
 
#define DHCPV6_REPLY   7
 
#define DHCPV6_RELEASE   8
 
#define DHCPV6_DECLINE   9
 
#define DHCPV6_RECONFIGURE   10
 
#define DHCPV6_INFORMATION_REQUEST   11
 
#define DHCPV6_SUCCESS   0
 
#define DHCPV6_UNSPEC_FAIL   1
 
#define DHCPV6_NO_ADDRS_AVAIL   2
 
#define DHCPV6_NO_BINDING   3
 
#define DHCPV6_NOT_ON_LINK   4
 
#define DHCPV6_USE_MULTICAST   5
 
#define DHCPV6_SHORTLEASE_TIME   4
 
#define DHCP_PKT_SIZE   1024
 
#define MAX_DOMAIN_NAME_LENGTH   256
 
#define DHCPV6_FIXED_LEN   4
 

Typedefs

typedef std::map< std::string,
uint32_t > 
Dhcpv6NameCodeMap
 
typedef std::map< std::string,
uint32_t >::const_iterator 
Dhcpv6NameCodeIter
 
typedef std::map< uint32_t,
Dhcpv6Handler::DhcpOptionCategory
Dhcpv6CategoryMap
 
typedef std::map< uint32_t,
Dhcpv6Handler::DhcpOptionCategory >
::const_iterator 
Dhcpv6CategoryIter
 

Macro Definition Documentation

#define ALL_DHCPV6_RELAYAGENTS_SERVERS_ADDRESS   "FF05::1:3"

Definition at line 11 of file dhcpv6_handler.h.

#define ALL_DHCPV6_SERVERS_ADDRESS   "FF05::1:3"

Definition at line 10 of file dhcpv6_handler.h.

#define DHCP_PKT_SIZE   1024

Definition at line 137 of file dhcpv6_handler.h.

#define DHCPV6_ADVERTISE   2

Definition at line 117 of file dhcpv6_handler.h.

#define DHCPV6_CONFIRM   4

Definition at line 119 of file dhcpv6_handler.h.

#define DHCPV6_DECLINE   9

Definition at line 124 of file dhcpv6_handler.h.

#define DHCPV6_FIXED_LEN   4

Definition at line 141 of file dhcpv6_handler.h.

#define DHCPV6_INFORMATION_REQUEST   11

Definition at line 126 of file dhcpv6_handler.h.

#define DHCPV6_NO_ADDRS_AVAIL   2

Definition at line 131 of file dhcpv6_handler.h.

#define DHCPV6_NO_BINDING   3

Definition at line 132 of file dhcpv6_handler.h.

#define DHCPV6_NOT_ON_LINK   4

Definition at line 133 of file dhcpv6_handler.h.

#define DHCPV6_OPT_BOOTFILE_PARAM   60

Definition at line 74 of file dhcpv6_handler.h.

#define DHCPV6_OPT_BOOTFILE_URL   59

Definition at line 73 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_ADDRSEL   84

Definition at line 98 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_ADDRSEL_TABLE   85

Definition at line 99 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_AFTR_NAME   64

Definition at line 78 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_AUTH   11

Definition at line 25 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_BCMCS_SERVER_A   34

Definition at line 48 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_BCMCS_SERVER_D   33

Definition at line 47 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_CAPWAP_AC_V6   52

Definition at line 66 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_CLIENT_ARCH_TYPE   61

Definition at line 75 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_CLIENT_DATA   45

Definition at line 59 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_CLIENT_FQDN   39

Definition at line 53 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_CLIENT_LINKLAYER_ADDR   79

Definition at line 93 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_CLIENTID   1

Definition at line 15 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_CLT_TIME   46

Definition at line 60 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_DHCP4_O_DHCP6_SERVER   88

Definition at line 102 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_DHCPV4_MSG   87

Definition at line 101 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_DNS_SERVERS   23

Definition at line 37 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_DOMAIN_LIST   24

Definition at line 38 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_ELAPSED_TIME   8

Definition at line 22 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_ERO   43

Definition at line 57 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_ERP_LOCAL_DOMAIN_NAME   65

Definition at line 79 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_GEOCONF_CIVIC   36

Definition at line 50 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_GEOLOCATION   63

Definition at line 77 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IA_NA   3

Definition at line 17 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IA_PD   25

Definition at line 39 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IA_TA   4

Definition at line 18 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IAADDR   5

Definition at line 19 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IAPREFIX   26

Definition at line 40 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_INF_MAX_RT   83

Definition at line 97 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_INFORMATION_REFRESH_TIME   32

Definition at line 46 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_INTERFACE_ID   18

Definition at line 32 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IPv6_ADDRESS_ANDSF   143

Definition at line 112 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IPv6_Address_MoS   54

Definition at line 68 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_IPv6_FQDN_MoS   55

Definition at line 69 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_KRB_DEFAULT_REALM_NAME   77

Definition at line 91 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_KRB_KDC   78

Definition at line 92 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_KRB_PRINCIPAL_NAME   75

Definition at line 89 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_KRB_REALM_NAME   76

Definition at line 90 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_LINK_ADDRESS   80

Definition at line 94 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_LQ_CLIENT_LINK   48

Definition at line 62 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_LQ_QUERY   44

Definition at line 58 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_LQ_RELAY_DATA   47

Definition at line 61 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_MIP6_HAA   72

Definition at line 86 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_MIP6_HAF   73

Definition at line 87 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_MIP6_HNIDF   49

Definition at line 63 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_MIP6_HNP   71

Definition at line 85 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_MIP6_IDINF   69

Definition at line 83 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_MIP6_UDINF   70

Definition at line 84 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_MIP6_VDINF   50

Definition at line 64 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NEW_POSIX_TIMEZONE   41

Definition at line 55 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NEW_TZDB_TIMEZONE   42

Definition at line 56 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NII   62

Definition at line 76 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NIS_DOMAIN_NAME   29

Definition at line 43 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NIS_SERVERS   27

Definition at line 41 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NISP_DOMAIN_NAME   30

Definition at line 44 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NISP_SERVERS   28

Definition at line 42 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_NTP_SERVER   56

Definition at line 70 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_ORO   6

Definition at line 20 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_PANA_AGENT   40

Definition at line 54 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_PD_EXCLUDE   67

Definition at line 81 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_PREFERENCE   7

Definition at line 21 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RADIUS   81

Definition at line 95 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RAPID_COMMIT   14

Definition at line 28 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RDNSS_SELECTION   74

Definition at line 88 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RECONF_ACCEPT   20

Definition at line 34 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RECONF_MSG   19

Definition at line 33 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RELAY_ID   53

Definition at line 67 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RELAY_MSG   9

Definition at line 23 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_REMOTE_ID   37

Definition at line 51 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_RSOO   66

Definition at line 80 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_BR   90

Definition at line 104 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_CONT_LW   96

Definition at line 110 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_CONT_MAPE   94

Definition at line 108 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_CONT_MAPT   95

Definition at line 109 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_DMR   91

Definition at line 105 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_PORTPARAMS   93

Definition at line 107 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_RULE   89

Definition at line 103 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_S46_V4V6BIND   92

Definition at line 106 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_SERVERID   2

Definition at line 16 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_SIP_SERVER_A   22

Definition at line 36 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_SIP_SERVER_D   21

Definition at line 35 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_SIP_UA_CS_LIST   58

Definition at line 72 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_SNTP_SERVERS   31

Definition at line 45 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_SOL_MAX_RT   82

Definition at line 96 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_STATUS_CODE   13

Definition at line 27 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_SUBSCRIBER_ID   38

Definition at line 52 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_UNICAST   12

Definition at line 26 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_UNKNOWN   0

Definition at line 14 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_USER_CLASS   15

Definition at line 29 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_V6_ACCESS_DOMAIN   57

Definition at line 71 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_V6_LOST   51

Definition at line 65 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_V6_PCP_SERVER   86

Definition at line 100 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_VENDOR_CLASS   16

Definition at line 30 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_VENDOR_OPTS   17

Definition at line 31 of file dhcpv6_handler.h.

#define DHCPV6_OPTION_VSS   68

Definition at line 82 of file dhcpv6_handler.h.

#define DHCPV6_REBIND   6

Definition at line 121 of file dhcpv6_handler.h.

#define DHCPV6_RECONFIGURE   10

Definition at line 125 of file dhcpv6_handler.h.

#define DHCPV6_RELEASE   8

Definition at line 123 of file dhcpv6_handler.h.

#define DHCPV6_RENEW   5

Definition at line 120 of file dhcpv6_handler.h.

#define DHCPV6_REPLY   7

Definition at line 122 of file dhcpv6_handler.h.

#define DHCPV6_REQUEST   3

Definition at line 118 of file dhcpv6_handler.h.

#define DHCPV6_SHORTLEASE_TIME   4

Definition at line 136 of file dhcpv6_handler.h.

#define DHCPV6_SOLICIT   1

Definition at line 116 of file dhcpv6_handler.h.

#define DHCPV6_SUCCESS   0

Definition at line 129 of file dhcpv6_handler.h.

#define DHCPV6_UNKNOWN   0

Definition at line 115 of file dhcpv6_handler.h.

#define DHCPV6_UNSPEC_FAIL   1

Definition at line 130 of file dhcpv6_handler.h.

#define DHCPV6_USE_MULTICAST   5

Definition at line 134 of file dhcpv6_handler.h.

#define MAX_DOMAIN_NAME_LENGTH   256

Definition at line 138 of file dhcpv6_handler.h.

Typedef Documentation

typedef std::map<uint32_t, Dhcpv6Handler::DhcpOptionCategory>::const_iterator Dhcpv6CategoryIter

Definition at line 318 of file dhcpv6_handler.h.

Definition at line 317 of file dhcpv6_handler.h.

typedef std::map<std::string, uint32_t>::const_iterator Dhcpv6NameCodeIter

Definition at line 316 of file dhcpv6_handler.h.

typedef std::map<std::string, uint32_t> Dhcpv6NameCodeMap

Definition at line 315 of file dhcpv6_handler.h.