summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-03-06dhcp6: fix VendorOpts getterChris Koch
RFC 8415 Section 21.17 states it may appear more than once: Multiple instances of the Vendor-specific Information option may appear in a DHCP message. Each instance of the option is interpreted according to the option codes defined by the vendor identified by the Enterprise Number in that option. Servers and clients MUST NOT send more than one instance of the Vendor-specific Information option with the same Enterprise Number. Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-06[dhcpv6] More getters for MessageOptionsAndrea Barberio
Added IAAddress, OneIAAddress, UserClasses, VendorOpts, and changed Options to MessageOptions in IA_NA and IA_Address options. Signed-off-by: Andrea Barberio <insomniac@slackware.it>
2020-03-05nclient6: allow non-rapid responses to RapidSolicitChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: DomainSearchList getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add FQDN option getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add IAPD getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: merge multiple OptionOROsChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add BootFileParam getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add ElapsedTime getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add BootFileURL getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add DNS getter (and rename DNSRecursiveNameServer to DNS)Chris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: simplify GetTransactionIDChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: RequestedOptions getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: clean up option NIIChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: Status getter for message optionsChris Koch
Status Code is one of the few options used across many Option types. Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add IANA GetterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add ServerID getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add ClientID getterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05dhcpv6: intro Getters for OptionsChris Koch
Allow the Options type to have getters for each specific options, in order to avoid users having to cast options to their specific type. This commit introduces a getter for exactly one option: the ClientArchType. i.e. users can replace archTypes := msg.GetOneOption(OptionClientArchType).(*OptClientArchType) with archTypes := msg.Options.ArchTypes() Because a few message types and options embed options (normal message, relay message, IANA/IATA option) and each have a restricted set of options that can be used inside them, we'll introduce at least 3 or more Options subtypes: - MessageOptions - RelayOptions - IdentityOptions Perhaps others will join at a later time, such as VendorOptions or AddressOptions for the IAAddress options field. Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-04dhcpv6: allow using OptIAPrefix without initializingMikael Magnusson
Set the IPv6 prefix field to zero if the prefix is invalid or not initialized. Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
2020-02-21nclient6: listen on link-local addrChris K
This allows for multi-NIC DHCPv6 in parallel. Otherwise: 2020/02/20 05:01:34 Could not configure eth1 for IPv6: listen udp6 %eth1:546: bind: address already in use 2020/02/20 05:01:34 Could not configure eth4 for IPv6: listen udp6 %eth4:546: bind: address already in use 2020/02/20 05:01:34 Attempting to get DHCPv6 lease on eth2 2020/02/20 05:01:34 Could not configure eth0 for IPv6: listen udp6 %eth0:546: bind: address already in use 2020/02/20 05:01:34 Could not configure eth3 for IPv6: listen udp6 %eth3:546: bind: address already in use Signed-off-by: Chris Koch <chrisko@google.com>
2020-02-10Merge pull request #355 from 10000TB/davidhu-dhcpv6-fqdnPablo Mazzini
dhcpv6 fqdn: implements OptionFQDN option
2020-02-06hcpv6 fqdn: implements OptionFQDN optionXuehao (David) Hu
per https://tools.ietf.org/rfc/rfc4704.txt Signed-off-by: Xuehao (David) Hu <xuehaohu@google.com>
2020-01-24travis: disable go tipChris K
Signed-off-by: Chris Koch <chrisko@google.com>
2020-01-24Fix a compare in Serve() of IP4 Zero to use an IP4 addressRonald G. Minnich
Fixes, among other things, u-root pxeserver Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
2020-01-09interfaces: add support for AIXClément Chigot
Signed-off-by: Clément Chigot <clement.chigot@atos.net>
2020-01-02v6: give proper names to some common OptionCodesChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-01-02Fix "conn" leaking, which eventually leads to thread exhaustion on machines ↵Leandro Martelli
with many NICs Signed-off-by: Leandro Martelli <martelli@epix.com.br>
2020-01-02v6: use time.Duration for duration fieldsChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2019-12-12[netboot] Add support of BootfileParam to "netboot"Dmitrii Okunev
Signed-off-by: Dmitrii Okunev <xaionaro@fb.com>
2019-12-12[dhcpv6] Add option BootfileParam to DHCPv6 clientDmitrii Okunev
Added support of option OptBootFileParam. See RFC5970 section 3.2. Signed-off-by: Dmitrii Okunev <xaionaro@fb.com>
2019-12-03dhcpv4: add Client Identifier option; respect RFC 6842Chris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2019-12-03dhcpv4: add max lease timeChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2019-11-29Merge pull request #336 from xaionaro-facebook/masterPablo Mazzini
Added option nclient4.WithHWAddr
2019-11-29Added option nclient4.WithHWAddrDmitrii Okunev
This option allows to receive answers DHCP with arbitrary client addresses Signed-off-by: Dmitrii Okunev <xaionaro@fb.com>
2019-11-29Merge pull request #335 from xaionaro-facebook/masterPablo Mazzini
Simplified porting from client4 to nclient4
2019-11-28Simplified porting from client4 to nclient4Dmitrii Okunev
Signed-off-by: Dmitrii Okunev <xaionaro@fb.com>
2019-11-20Add test for WithRelayAgentInfo modifier.kevin
Signed-off-by: kevin <kworm@missouri-telecom.com>
2019-11-20Update function name in NewReplyFromRequestkevin
Signed-off-by: kevin <kworm@missouri-telecom.com>
2019-11-20Remove dhcpv4 namespacekevin
Signed-off-by: kevin <kworm@missouri-telecom.com>
2019-11-20Rename function to WithRelayAgentInfokevin
Fix syntax nits Simplified function as suggested by @pmazzini Signed-off-by: kevin <kworm@missouri-telecom.com>
2019-11-20Add support for copying relay optionskevin
Signed-off-by: kevin <kworm@missouri-telecom.com>
2019-11-12[dhcpv6]Adding opt 16 when parsing vendor optionsAkshay Navale
Signed-off-by: Akshay Navale <navale@dhcp-172-27-23-219.dhcp.thefacebook.com>
2019-11-05Merge pull request #329 from Natolumin/4rdPablo Mazzini
dhcpv6: 4RD option support
2019-11-03dhcpv6: Add support for 4RD optionsAnatole Denis
IPv4 Residual Deployment (4RD) is a strategy for providing IPv4 connectivity in IPv6-only networks. The standard includes autoconfiguration via DHCPv6, as described in RFC7600. This adds support for the 3 options defined in that RFC Signed-off-by: Anatole Denis <natolumin@unverle.fr>
2019-11-03dhcpv6: Add all current option codes from IANAAnatole Denis
This updates the option codes list in dhcpv6/types.go to include all published option codes as of today. For better formatting of the table, replace comments indicating undefined options with assignments to the throwaway variable `_`, which avoids resetting alignment formatting compared to the comment option. Signed-off-by: Anatole Denis <natolumin@unverle.fr>
2019-10-25Merge pull request #328 from Mantic/masterPablo Mazzini
Added additional DHCP4 Relay Agent Information sub options (as per various RFCs).
2019-10-25Added additional DHCP4 Relay Agent Information sub options (as per various ↵Mantic
RFCs). Signed-off-by: Mantic <mikey.whitaker@gmail.com>
2019-10-16Merge pull request #327 from Natolumin/homogenize_udpconn_v4v6Pablo Mazzini
server4: Allow listening on a non-wildcard IP address on v4
2019-10-15server4: Only allow IPv4 addressesAnatole Denis
IPv6 addresses would not cause a crash, but would silently listen on the wildcard address instead of the passed address, which is surprising at best. Instead check for the address family and reject non-v4 addresses Signed-off-by: Anatole Denis <natolumin@unverle.fr>