summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4
AgeCommit message (Collapse)Author
2023-07-18no continueKonnovKM
Signed-off-by: KonnovKM <boneyandoom@gmail.com>
2023-07-18header size checkKonnovKM
Signed-off-by: KonnovKM <boneyandoom@gmail.com>
2023-04-13Fix errorsBrian Kemper
Signed-off-by: Brian Kemper <bkemper@gmail.com>
2023-04-13Remove mdlayher/raw depBrian Kemper
Signed-off-by: Brian Kemper <bkemper@gmail.com>
2023-04-06Adding arista port-channel supportRobel Kitaba
Signed-off-by: Robel Kitaba <krobel@meta.com>
2023-03-27Merge branch 'master' into renew-from-ackPablo Mazzini
2023-03-27dhcpv4: change `NewRenewFromOffer` to `NewRenewFromAck`Dennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2023-03-25dhcpv4: implement interface for sending INFORM requestsDennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2023-03-01New juniper formatEmanuele Fia
Signed-off-by: Emanuele Fia <name29@meta.com>
2022-10-01Merge branch 'master' into newinform-formatting-consistencyPablo Mazzini
2022-10-01Merge branch 'master' into newinform-modifier-testPablo Mazzini
2022-10-01Merge branch 'master' into fix-not-nil-checksPablo Mazzini
2022-10-01dhcpv4: add test for NewInform() with modifiersDennis Marttinen
`NewInform()` exposes a consumer-facing interface that accepts modifiers, but this functionality is never tested unlike with for example `NewRequest()` and `NewRenew()`. To ensure that modifiers are correctly respected and any future modifications won't break this support, add a modifier test for `NewInform()`. Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-10-01dhcpv4: make NewInform() formatting consistent with neighborsDennis Marttinen
This is just a minor readability improvement that makes `NewInform()` consistent with the neighboring functions like `NewRequest()`, `NewReply()`, `NewRelease()` etc. Having the prepended modifiers on the same line helps with separating the modifiers that provided by the function from the modifiers passed in by the consumer of the function. Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-10-01dhcpv4: fix require.NotNil() usage in testsDennis Marttinen
Any parameter passed to `require.NotNil()` after the first two will not be tested but instead appended to the message that is printed if the test fails. This means that `lease.ACK` was never tested to not be nil. Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-10-01dhcpv4: return a new lease from Renew()Dennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-09-10Merge branch 'master' into lintPablo Mazzini
2022-09-10Merge branch 'master' into fix-nil-optionsPablo Mazzini
2022-09-10Merge branch 'master' into lintPablo Mazzini
2022-09-07Update conn_unix.goJacob Weinstock
Add `SO_REUSEPORT` to aid in debugging and testing. Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
2022-08-22Merge branch 'master' into lintPablo Mazzini
2022-08-22Adding support for more circuit idEmanuele Fia
Signed-off-by: Emanuele Fia <name29@fb.com>
2022-08-20[dhcpv4][client] fix lintPablo Mazzini
2022-07-27dhcpv4: add unit tests for NewRenewFromOfferDennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-07-27dhcpv4: add a client method to facilitate lease renewalsDennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-07-15dhcpv4: enable deletion of options and add modifier for itDennis Marttinen
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2022-05-03Documentation: Description is inverse of realitykayos
Signed-off-by: kayos@tcp.direct <kayos@tcp.direct>
2022-01-19nclient4: support BSDsChris Koch
mdlayher/raw supports them, so why don't we support them, too. Signed-off-by: Chris Koch <chrisko@google.com>
2021-12-13fix: check IP/UDP header size before trying to access itAndrey Smirnov
This should fix the panic we've seen with the malformed packets on the wire. Remaining buffer size should be checked before trying to access the data, otherwise Go might panic on out of bounds slice operation. Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-09dhcpv4: remove server IP from REQUEST messagesChris Koch
RFC 2131 Section 4.4.1 specifies that REQUEST messages should set 'siaddr' to 0. Signed-off-by: Chris Koch <chrisko@google.com>
2021-10-26use iana EntIDPablo Mazzini
2021-10-26[ztpv4] typo and NITsPablo Mazzini
2021-10-25Fix buffer end location (#447)noiz
Fix payload buffer to end at actual payload end. UDP header length includes the 8 bytes of the header so we do not want the +8 at the end of the buffer. Signed-off-by: noiz <noiz@users.noreply.github.com> Co-authored-by: Pablo Mazzini <pmazzini@gmail.com>
2021-10-25Adding support for parsing Ciena attributes in DHCPv4 (#450)Emanuele Fia
* Adding support for Ciena DHCPv4 Signed-off-by: Emanuele Fia <name29@fb.com>
2021-10-25Fix nil check to prevent a panic by trying to dereference a nil pointer (#451)noiz
Signed-off-by: noiz <noiz@users.noreply.github.com>
2021-08-27[ztpv4][cisco firepower] Check to ensure serial number in Opt 61 is not ↵Hariharakumar Narasimhakumar
empty (#444) * Adding check for empty serial number in opt 61
2021-08-27dhcpv4: Add RelaySourcePortSubOption constantAnatole Denis
As described in RFC8357 this is a 0-length suboption used to indicate that the relay supports the arbitrary UDP port behavior from RFC8357 Since this is 0-length the constant is enough to handle the full behavior Signed-off-by: Anatole Denis <natolumin@unverle.fr>
2021-08-26Adding support to parse vendor data for cisco firepower (#443)Hariharakumar Narasimhakumar
* Adding support to parse vendor data for cisco firepower
2021-06-08Make server4 package compile on Windows (#428)Guillaume Rose
2021-05-28Break circular dependency on u-rootChris Koch
u-root -> dhcp -> u-root is the circular dependency. Which is fine, except we messed up modules in u-root big time. We need to break the circular dep for now. Signed-off-by: Chris Koch <chrisko@google.com>
2021-04-28[dhcpv4] remove NewOffer commentPablo Mazzini
2021-04-27Add dhcp Opt 124(vivc) parsing to ztp (#425)Hariharakumar Narasimhakumar
* Add dhcp Opt 124(vivc) parsing to ztp Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com>
2021-04-20rearrange parse_circuitid test cases (#419)Hariharakumar Narasimhakumar
Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com> Co-authored-by: Hariharakumar Narasimhakumar <hhkumar@fb.com>
2021-04-20Adding xe interface format for Juniper qfx to list of circuit regexes (#418)Hariharakumar Narasimhakumar
* Adding xe interface format for Juniper qfx to list of circuit regexes Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com> * Consolidating regexes for et and xe into one entry Signed-off-by: Hariharakumar Narasimhakumar <hhkumar@fb.com> Co-authored-by: Hariharakumar Narasimhakumar <hhkumar@fb.com>
2021-03-14nclient4: fix buildChris Koch
Signed-off-by: Chris Koch <chrisko@google.com>
2021-03-13nclient4: Ensure server identifier matches (#410)Moritz Fischer
Ensure server identifier matches the offer server identifier when looking for ACKs or NAKs. This protects against rogue DHCP servers NAKing requests the shouldn't. Signed-off-by: Moritz Fischer <moritzf@google.com> Co-authored-by: Moritz Fischer <moritzf@google.com>
2021-03-10Improve ipv4 compatibilityEugene Burkov
Signed-off-by: Eugene Burkov <e.burkov@adguard.com>
2021-03-06Fix tests to match the change packetMarcel Moolenaar
Signed-off-by: Marcel Moolenaar <mmoolena@amazon.com>
2021-03-06Pad packets after the 'end' option to be more conformantMarcel Moolenaar
RFC 2131 gives two examples of padding in section 4.1. For both the examples, the 'end' option preceeds the padding with the 'pad' option. These examples relate to overloading pre-defined fields for options, not padding the packet for a minimal size. Older versions of the U-Boot firmware support DHCP, but do not expect the 'pad' option. The firmware logs the following warning for each occurence: *** Unhandled DHCP Option in OFFER/ACK: 0 This warning disappears when the 'end' option preceeds the 'pad' option. Signed-off-by: Marcel Moolenaar <mmoolena@amazon.com>
2021-01-20nclient4: WithUnicast default port should be 68 (#403)Canwu Yao
Signed-off-by: yaocw2020 <yaocanwu@gmail.com>