summaryrefslogtreecommitdiffhomepage
path: root/netboot/netconf.go
AgeCommit message (Collapse)Author
2021-08-17Add NTPServers to NetConfDeomid "rojer" Ryabkov
Signed-off-by: Deomid "rojer" Ryabkov <rojer9@fb.com>
2021-08-09netboot: DNS not mandatoryPablo Mazzini
2020-11-12netboot: use latest rtnl apiPablo Mazzini
Signed-off-by: Pablo Mazzini <pmazzini@gmail.com>
2020-07-10netconf: apply v6 addresses as /128Chris Koch
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684009 "Note that the dhcpv6 protocol doesn't have an option for a netmask. So it is always /128 and routing is left to icmpv6 router advertisements." RFC 5942 is a good read here as well: An address could be acquired through the DHCPv6 identity association for non- temporary addresses (IA_NA) option from [RFC3315] (which does not include a prefix length), or through manual configuration (if no prefix length is specified). The host incorrectly assumes an invented prefix is on-link. This invented prefix typically is a /64 that was written by the developer of the operating system network module API to any IPv6 application as a "default" prefix length when a length isn't specified. As DHCP developers, we *HAVE* to assume that no prefix is on-link. The correct way to do that is to specify the netmask as /128. The kernel will RA/RS their way around to figure out what prefixes are indeed on-link. Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-09netconf: use new IANA and IAAddress gettersChris 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 DNS getter (and rename DNSRecursiveNameServer to DNS)Chris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-03-05v6: add IANA GetterChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2020-01-02v6: use time.Duration for duration fieldsChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2019-04-29[netboot] use rtnl packageAndrea Barberio
After adding the higher-level [rtnl package](https://github.com/jsimonetti/rtnetlink/pull/44) let's switch to it. Pending https://github.com/jsimonetti/rtnetlink/pull/50 Signed-off-by: Andrea Barberio <insomniac@slackware.it>
2019-04-15Replace vishvananda/netlink with jsimonetti/rtnetlink (#271)insomniac
Fixes #257 And saves ~100kb. Signed-off-by: Andrea Barberio <insomniac@slackware.it>
2019-03-11dhcpv6: rename stuttering types.Christopher Koch
dhcpv6.DHCPv6Message -> dhcpv6.Message dhcpv6.DHCPv6Relay -> dhcpv6.RelayMessage
2019-03-07Allow Unknown OperState of the link interface (#254)Łukasz Siudut
* Allow Unknowo OperState of the link interface We hig a bug when Netconf library was failing to bring interface up despite the fact that it was actually up. It turned out that it's oper state was not set to UP, what is expected by the library. According to kernel documentation it is ok proceed if interface state is Up or Unknown: ``` Interface is in RFC2863 operational state UP or UNKNOWN. This is for backward compatibility, routing daemons, dhcp clients can use this flag to determine whether they should use the interface. ``` Also, resaon why operational state may remain Unknown: ``` IF_OPER_UNKNOWN (0): Interface is in unknown state, neither driver nor userspace has set operational state. Interface must be considered for user data as setting operational state has not been implemented in every driver. ``` I modified our code to try DHCP transaction even if `IfUp` failed, but the OperState was equal to Unknown - it worked perfectly. * Skip rt7 test also with go 1.10 and 1.11 As per request from @pmazzini.
2019-01-24dhcpv4: getters instead of gettersChristopher Koch
From: r := GetRouter(d.Options) To: r := d.Router()
2019-01-24dhcpv4: nicer API for option parsing.Christopher Koch
From: r := d.GetOneOption(OptionRouter).(*OptRouter).Routers d.UpdateOption(&OptRouter{Routers: []net.IP{net.IP{192, 168, 0, 1}}}) To: r := GetRouter(d.Options) d.UpdateOption(OptRouter(net.IP{192, 168, 0, 1}, ...))
2019-01-09dhcpv4: export packet members; remove setters and getters.Christopher Koch
2018-12-08Added netconf v4 tests and required modifiersAndrea Barberio
2018-11-21rfc1035label: using a structure to hold original dataAndrea Barberio
2018-11-20netboot: delay in IfUp to avoid hammering the CPUAndrea Barberio
2018-11-19dhcpv4: run on unconfigured interfaces (#198)insomniac
2018-11-13netboot: domain search list not mandatoryAndrea Barberio
2018-11-07Add netboot/netconf support for DHCPv4 (#185)Marco Guerri
2018-07-30DHCPv6: Rename Option constants to CamelCaseSean Karlage
To appease linters
2018-05-21Tests for DUID, OptIAAddress and several fixes (#66)insomniac
2018-05-20Unbreak build after changing OptIANA interface (#65)insomniac
2018-05-12OptDomainSearchList: made fields public and added unit tests (#64)insomniac
2018-05-10OptDNSRecursiveNameServer gets public fields and tests, removes setter and ↵insomniac
getter (#62)
2018-04-22Added netboot package (#45)insomniac
Added netboot package