1ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt/* 2ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt * DHCP definitions 3ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt * Copyright (c) 2014-2017, Qualcomm Atheros, Inc. 4ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt * 5ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt * This software may be distributed under the terms of the BSD license. 6ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt * See README for more details. 7ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt */ 8ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 9ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#ifndef DHCP_H 10ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#define DHCP_H 11ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 12ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#include <netinet/ip.h> 13d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt#if __FAVOR_BSD 14ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#include <netinet/udp.h> 15d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt#else 16d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt#define __FAVOR_BSD 1 17d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt#include <netinet/udp.h> 18d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt#undef __FAVOR_BSD 19d2986c2e737a8441ff5a791b6b56c1c8322ef3c9Dmitry Shmidt#endif 20ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 21ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#define DHCP_SERVER_PORT 67 22ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#define DHCP_CLIENT_PORT 68 23ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 24ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidtstruct dhcp_data { 25ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 op; 26ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 htype; 27ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 hlen; 28ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 hops; 29ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 xid; 30ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be16 secs; 31ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be16 flags; 32ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 client_ip; 33ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 your_ip; 34ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 server_ip; 35ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 relay_ip; 36ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 hw_addr[16]; 37ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 serv_name[64]; 38ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 boot_file[128]; 39ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt} STRUCT_PACKED; 40ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 41ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidtstruct bootp_pkt { 42ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt struct iphdr iph; 43ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt struct udphdr udph; 44ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 op; 45ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 htype; 46ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 hlen; 47ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 hops; 48ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 xid; 49ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be16 secs; 50ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be16 flags; 51ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 client_ip; 52ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 your_ip; 53ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 server_ip; 54ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt be32 relay_ip; 55ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 hw_addr[16]; 56ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 serv_name[64]; 57ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 boot_file[128]; 58ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt u8 exten[312]; 59ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt} STRUCT_PACKED; 60ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 61ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#define DHCP_MAGIC 0x63825363 62ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 63ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt/* 64ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt * IANA DHCP/BOOTP registry 65ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt * http://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml 66ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt*/ 67ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidtenum dhcp_options { 68ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_PAD = 0, 69ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SUBNET_MASK = 1, 70ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TIME_OFFSET = 2, 71ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ROUTER = 3, 72ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TIME_SERVER = 4, 73ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NAME_SERVER = 5, 74ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_DOMAIN_NAME_SERVER = 6, 75ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_LOG_SERVER = 7, 76ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_QUOTES_SERVER = 8, 77ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_LPR_SERVER = 9, 78ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_IMPRESS_SERVER = 10, 79ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_RLP_SERVER = 11, 80ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_HOSTNAME = 12, 81ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_BOOT_FILE_SIZE = 13, 82ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MERIT_DUMP_FILE = 14, 83ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_DOMAIN_NAME = 15, 84ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SWAP_SERVER = 16, 85ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ROOT_PATH = 17, 86ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_EXTENSION_PATH = 18, 87ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_FORWARD = 19, 88ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SRC_RTE = 20, 89ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_POLICY_FILTER = 21, 90ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MAX_DG_ASSEMBLY = 22, 91ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_DEFAULT_IP_TTL = 23, 92ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MTU_TIMEOUT = 24, 93ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MTU_PLATEAU = 25, 94ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MTU_INTERFACE = 26, 95ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ALL_SUBNETS_LOCAL = 27, 96ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_BROADCAST_ADDRESS = 28, 97ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MASK_DISCOVERY = 29, 98ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MASK_SUPPLIER = 30, 99ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ROUTER_DISCOVERY = 31, 100ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ROUTER_SOLICITATION_ADDRESS = 32, 101ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_STATIC_ROUTE = 33, 102ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TRAILERS = 34, 103ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ARP_TIMEOUT = 35, 104ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ETHERNET = 36, 105ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TCP_DEFAULT_TTL = 37, 106ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TCP_KEEPALIVE_INTERVAL = 38, 107ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TCP_KEEPALIVE_GARBAGE = 39, 108ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NIS_DOMAIN = 40, 109ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NIS_SERVERS = 41, 110ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NTP_SERVERS = 42, 111ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_VENDOR_SPECIFIC = 43, 112ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETBIOS_NAME_SERVER = 44, 113ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETBIOS_DISTRIBUTION_SERVER = 45, 114ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETBIOS_NODE_TYPE = 46, 115ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETBIOS_SCOPE = 47, 116ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_FONT_SERVER = 48, 117ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_DISPLAY_MANAGER = 49, 118ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_REQUESTED_IP_ADDRESS = 50, 119ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_IP_ADDRESS_LEASE_TIME = 51, 120ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_OVERLOAD = 52, 121ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MSG_TYPE = 53, 122ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SERVER_ID = 54, 123ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_PARAMETER_REQ_LIST = 55, 124ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MESSAGE = 56, 125ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_MAX_MESSAGE_SIZE = 57, 126ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_RENEWAL_TIME = 58, 127ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_REBINDING_TIME = 59, 128ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_VENDOR_CLASS_ID = 60, 129ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CLIENT_ID = 61, 130ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETWARE_IP_DOMAIN = 62, 131ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETWARE_IP_OPTION = 63, 132ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NIS_V3_DOMAIN = 64, 133ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NIS_V3_SERVERS = 65, 134ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TFTP_SERVER_NAME = 66, 135ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_BOOT_FILE_NAME = 67, 136ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_HOME_AGENT_ADDRESSES = 68, 137ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SMTP_SERVER = 69, 138ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_POP3_SERVER = 70, 139ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NNTP_SERVER = 71, 140ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_WWW_SERVER = 72, 141ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_FINGER_SERVER = 73, 142ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_IRC_SERVER = 74, 143ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_STREETTALK_SERVER = 75, 144ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_STDA_SERVER = 76, 145ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_USER_CLASS = 77, 146ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_DIRECTORY_AGENT = 78, 147ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SERVICE_SCOPE = 79, 148ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_RAPID_COMMIT = 80, 149ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CLIENT_FQDN = 81, 150ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_RELAY_AGENT_INFO = 82, 151ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ISNS = 83, 152ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NDS_SERVERS = 85, 153ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NDS_TREE_NAME = 86, 154ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NDS_CONTEXT = 87, 155ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_BCMCS_CONTROLLER_DOMAIN_NAME_LIST = 88, 156ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_BCMCS_CONTROLLER_IPV4_ADDRESS = 89, 157ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_AUTHENTICATION = 90, 158ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CLIENT_LAST_TRANSACTION_TIME = 91, 159ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_ASSOCIATED_IP = 92, 160ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CLIENT_SYSYEM = 93, 161ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CLIENT_NDI = 94, 162ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_LDAP = 95, 163ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_UUID_GUID = 97, 164ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_USER_AUTH = 98, 165ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_GEOCONF_CIVIC = 99, 166ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_PCODE = 100, 167ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TCODE = 101, 168ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETINFO_ADDRESS = 112, 169ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NETINFO_TAG = 113, 170ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_URL = 114, 171ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_AUTO_CONFIG = 116, 172ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_NAME_SERVICE_SEARCH = 117, 173ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SUBNET_SELECTION = 118, 174ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_DOMAIN_SEARCH = 119, 175ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SIP_SERVERS_DCP = 120, 176ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CLASSLESS_STATIC_ROUTE = 121, 177ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CCC = 122, 178ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_GEOCONF = 123, 179ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_V_I_VENDOR_CLASS = 124, 180ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_V_I_VENDOR_SPECIFIC_INFO = 125, 181ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_PANA_AGENT = 136, 182ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_V4_LOST = 137, 183ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CAPWAP_AC_V4 = 138, 184ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_IPV4_ADDRESS_MOS = 139, 185ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_IPV4_FQDN_MOS = 140, 186ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SIP_UA_CONF = 141, 187ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_IPV4_ADDRESS_ANDSF = 142, 188ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_GEOLOC = 144, 189ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_FORCERENEW_NONCE_CAPABLE = 145, 190ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_RDNSS_SELECTION = 146, 191ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_TFTP_SERVER_ADDRESS = 150, 192ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_STATUS_CODE = 151, 193ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_BASE_TIME = 152, 194ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_START_TIME_OF_STATE = 153, 195ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_QUERY_START_TIME = 154, 196ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_QUERY_END_TIME = 155, 197ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_STATE = 156, 198ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_DATA_SOURCE = 157, 199ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_V4_PCP_SERVER = 158, 200ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_V4_PORTPARAMS = 159, 201ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CAPTIVE_PORTAL = 160, 202ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_CONF_FILE = 209, 203ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_PATH_PREFIX = 210, 204ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_REBOOT_TIME = 211, 205ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_6RD = 212, 206ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_V4_ACCESS_DOMAIN = 213, 207ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_SUBNET_ALLOCATION = 220, 208ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_VSS = 221, 209ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_OPT_END = 255 210ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt}; 211ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 212ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidtenum dhcp_message_types { 213ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPDISCOVER = 1, 214ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPOFFER = 2, 215ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPREQUEST = 3, 216ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPDECLINE = 4, 217ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPACK = 5, 218ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPNAK = 6, 219ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPRELEASE = 7, 220ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPINFORM = 8, 221ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPFORCERENEW = 9, 222ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPLEASEQUERY = 10, 223ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPLEASEUNASSIGNED = 11, 224ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPLEASEUNKNOWN = 12, 225ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPLEASEACTIVE = 13, 226ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPBULKLEASEQUERY = 14, 227ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPLEASEQUERYDONE = 15, 228ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPACTIVELEASEQUERY = 16, 229ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPLEASEQUERYSTATUS = 17, 230ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCPTLS = 18, 231ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt}; 232ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 233ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidtenum dhcp_relay_agent_suboptions { 234ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_AGENT_CIRCUIT_ID = 1, 235ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_AGENT_REMOTE_ID = 2, 236ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_DOCSIS_DEVICE_CLASS = 4, 237ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_LINK_SELECTION = 5, 238ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_SUBSCRIBE_ID = 6, 239ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_RADIUS_ATTRIBUTES = 7, 240ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_AUTHENTICATION = 8, 241ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_VEDOR_SPECIFIC = 9, 242ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_RELAY_AGENT_FLAGS = 10, 243ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_SERVER_ID_OVERRIDE = 11, 244ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_RELAY_AGENT_ID = 12, 245ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_ACCESS_TECHNOLOGY_TYPE = 13, 246ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_ACCESS_NETWORK_NAME = 14, 247ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_ACCESS_POINT_NAME = 15, 248ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_ACCESS_POINT_BSSID = 16, 249ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_OPERATOR_ID = 17, 250ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_OPERATOR_REALM = 18, 251ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_DHCPV4_VIRTUAL_SUBNET_SELECTION = 151, 252ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt DHCP_RELAY_OPT_DHCPV4_VIRTUAL_SUBNET_SELECTION_CONTROL = 152, 253ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt}; 254ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 255ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidtenum access_technology_types { 256ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt ACCESS_TECHNOLOGY_VIRTUAL = 1, 257ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt ACCESS_TECHNOLOGY_PPP = 2, 258ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt ACCESS_TECHNOLOGY_ETHERNET = 3, 259ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt ACCESS_TECHNOLOGY_WLAN = 4, 260ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt ACCESS_TECHNOLOGY_WIMAX = 5, 261ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt}; 262ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt 263ebd93af924f6e54fb4982b3312ff875a4896b62bDmitry Shmidt#endif /* DHCP_H */ 264