122 lines
5.1 KiB
Go
122 lines
5.1 KiB
Go
package dhcp4
|
|
|
|
// OpCodes
|
|
const (
|
|
BootRequest OpCode = 1 // From Client
|
|
BootReply OpCode = 2 // From Server
|
|
)
|
|
|
|
// DHCP Message Type 53
|
|
const (
|
|
Discover MessageType = 1 // Broadcast Packet From Client - Can I have an IP?
|
|
Offer MessageType = 2 // Broadcast From Server - Here's an IP
|
|
Request MessageType = 3 // Broadcast From Client - I'll take that IP (Also start for renewals)
|
|
Decline MessageType = 4 // Broadcast From Client - Sorry I can't use that IP
|
|
ACK MessageType = 5 // From Server, Yes you can have that IP
|
|
NAK MessageType = 6 // From Server, No you cannot have that IP
|
|
Release MessageType = 7 // From Client, I don't need that IP anymore
|
|
Inform MessageType = 8 // From Client, I have this IP and there's nothing you can do about it
|
|
)
|
|
|
|
// DHCP Options
|
|
const (
|
|
End OptionCode = 255
|
|
Pad OptionCode = 0
|
|
OptionSubnetMask OptionCode = 1
|
|
OptionTimeOffset OptionCode = 2
|
|
OptionRouter OptionCode = 3
|
|
OptionTimeServer OptionCode = 4
|
|
OptionNameServer OptionCode = 5
|
|
OptionDomainNameServer OptionCode = 6
|
|
OptionLogServer OptionCode = 7
|
|
OptionCookieServer OptionCode = 8
|
|
OptionLPRServer OptionCode = 9
|
|
OptionImpressServer OptionCode = 10
|
|
OptionResourceLocationServer OptionCode = 11
|
|
OptionHostName OptionCode = 12
|
|
OptionBootFileSize OptionCode = 13
|
|
OptionMeritDumpFile OptionCode = 14
|
|
OptionDomainName OptionCode = 15
|
|
OptionSwapServer OptionCode = 16
|
|
OptionRootPath OptionCode = 17
|
|
OptionExtensionsPath OptionCode = 18
|
|
|
|
// IP Layer Parameters per Host
|
|
OptionIPForwardingEnableDisable OptionCode = 19
|
|
OptionNonLocalSourceRoutingEnableDisable OptionCode = 20
|
|
OptionPolicyFilter OptionCode = 21
|
|
OptionMaximumDatagramReassemblySize OptionCode = 22
|
|
OptionDefaultIPTimeToLive OptionCode = 23
|
|
OptionPathMTUAgingTimeout OptionCode = 24
|
|
OptionPathMTUPlateauTable OptionCode = 25
|
|
|
|
// IP Layer Parameters per Interface
|
|
OptionInterfaceMTU OptionCode = 26
|
|
OptionAllSubnetsAreLocal OptionCode = 27
|
|
OptionBroadcastAddress OptionCode = 28
|
|
OptionPerformMaskDiscovery OptionCode = 29
|
|
OptionMaskSupplier OptionCode = 30
|
|
OptionPerformRouterDiscovery OptionCode = 31
|
|
OptionRouterSolicitationAddress OptionCode = 32
|
|
OptionStaticRoute OptionCode = 33
|
|
|
|
// Link Layer Parameters per Interface
|
|
OptionTrailerEncapsulation OptionCode = 34
|
|
OptionARPCacheTimeout OptionCode = 35
|
|
OptionEthernetEncapsulation OptionCode = 36
|
|
|
|
// TCP Parameters
|
|
OptionTCPDefaultTTL OptionCode = 37
|
|
OptionTCPKeepaliveInterval OptionCode = 38
|
|
OptionTCPKeepaliveGarbage OptionCode = 39
|
|
|
|
// Application and Service Parameters
|
|
OptionNetworkInformationServiceDomain OptionCode = 40
|
|
OptionNetworkInformationServers OptionCode = 41
|
|
OptionNetworkTimeProtocolServers OptionCode = 42
|
|
OptionVendorSpecificInformation OptionCode = 43
|
|
OptionNetBIOSOverTCPIPNameServer OptionCode = 44
|
|
OptionNetBIOSOverTCPIPDatagramDistributionServer OptionCode = 45
|
|
OptionNetBIOSOverTCPIPNodeType OptionCode = 46
|
|
OptionNetBIOSOverTCPIPScope OptionCode = 47
|
|
OptionXWindowSystemFontServer OptionCode = 48
|
|
OptionXWindowSystemDisplayManager OptionCode = 49
|
|
OptionNetworkInformationServicePlusDomain OptionCode = 64
|
|
OptionNetworkInformationServicePlusServers OptionCode = 65
|
|
OptionMobileIPHomeAgent OptionCode = 68
|
|
OptionSimpleMailTransportProtocol OptionCode = 69
|
|
OptionPostOfficeProtocolServer OptionCode = 70
|
|
OptionNetworkNewsTransportProtocol OptionCode = 71
|
|
OptionDefaultWorldWideWebServer OptionCode = 72
|
|
OptionDefaultFingerServer OptionCode = 73
|
|
OptionDefaultInternetRelayChatServer OptionCode = 74
|
|
OptionStreetTalkServer OptionCode = 75
|
|
OptionStreetTalkDirectoryAssistance OptionCode = 76
|
|
|
|
// DHCP Extensions
|
|
OptionRequestedIPAddress OptionCode = 50
|
|
OptionIPAddressLeaseTime OptionCode = 51
|
|
OptionOverload OptionCode = 52
|
|
OptionDHCPMessageType OptionCode = 53
|
|
OptionServerIdentifier OptionCode = 54
|
|
OptionParameterRequestList OptionCode = 55
|
|
OptionMessage OptionCode = 56
|
|
OptionMaximumDHCPMessageSize OptionCode = 57
|
|
OptionRenewalTimeValue OptionCode = 58
|
|
OptionRebindingTimeValue OptionCode = 59
|
|
OptionVendorClassIdentifier OptionCode = 60
|
|
OptionClientIdentifier OptionCode = 61
|
|
|
|
OptionTFTPServerName OptionCode = 66
|
|
OptionBootFileName OptionCode = 67
|
|
|
|
OptionUserClass OptionCode = 77
|
|
|
|
OptionClientArchitecture OptionCode = 93
|
|
|
|
OptionTZPOSIXString OptionCode = 100
|
|
OptionTZDatabaseString OptionCode = 101
|
|
|
|
OptionClasslessRouteFormat OptionCode = 121
|
|
)
|