summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4/dhcpv4.go
AgeCommit message (Collapse)Author
2019-01-11dhcpv4: simplify marshaling options to binary.Christopher Koch
- Consolidate writing the option code and length to Options.Marshal rather than doing it in each individual option. - Use uio in marshaling code.
2019-01-10dhcpv4: remote OptionGetter interface in favor of Options type.Christopher Koch
2019-01-10dhcpv4: simplify option parsing.Christopher Koch
option's codes and lengths were being parsed twice: once in ParseOption and once in each option type's Parse implementation. Consolidate such that it only happens once. Additionally, only pass data to options that they should parse -- we know the length before the Parse function is called, so the option only gets to see the data it needs to see. Also, use uio.Lexer to simplify parsing code in general. Easier to read and reason about.
2019-01-09dhcpv4: export packet members; remove setters and getters.Christopher Koch
2019-01-09dhcpv4: simplify host name and boot file handling.Christopher Koch
2019-01-09dhcpv4: simplify handling of client MAC.Christopher Koch
2019-01-09dhcpv4: nicer (un-)marshaling of DHCP messages.Christopher Koch
2019-01-09dhcpv4: introduce TransactionID type.Christopher Koch
2018-12-08Added netconf v4 tests and required modifiersAndrea Barberio
2018-11-06[WIP] Added DHCPv4 server (#178)insomniac
* Added DHCPv4 server * Added more modifiers * Fixed some bugs
2018-10-15Added String methods for types (#175)Pablo Mazzini
2018-08-19Added String methods for types (#140)insomniac
* Added String methods for types * Reverted change on bsdp.OptionCode
2018-08-15revert breaking changes so this can be merged without issuesSean Karlage
2018-08-15Merge branch 'master' into dhcpv4-moar-testsSean Karlage
2018-08-13add IsOptionRequested (#122)insomniac
2018-08-12IsOptionRequested method of DHCPv6MessagePablo Mazzini
2018-08-11Merge branch 'master' into dhcpv4-moar-testsSean Karlage
2018-08-10rename IsRequested to IsRequestedOptionPablo Mazzini
2018-08-10rename RequestFromOffer to NewRequestFromOfferPablo Mazzini
2018-08-01Add support for modifiers to dhcpv4 (#102)insomniac
2018-07-29Add some helper tools for testsSean Karlage
Adds new `OptionGetter` interface that helps when asserting that certain packets/vendor-specific opts contain specific options.
2018-07-29Add modifier support to NewReplyFromRequestOwen Mooney
2018-07-29DHCPv4: Refactor methods for easier testingSean Karlage
This refactors the input parameters for construction DISCOVER/INFORM* packets so that it's easier to write unit tests for DHCPv4 and BSDP methods. It also adds a bunch of unit tests for both packages and rounds out their test coverage.
2018-07-29Add support for modifiers to dhcpv4Owen Mooney
2018-07-29add OptSubnetMaskPablo Mazzini
2018-07-29add NewReplyFromRequest (#100)Pablo Mazzini
2018-07-27[DHCPv4] BroadcastSendReceive now can wait for specific reply types (#95)insomniac
2018-05-11add dhcpv4.GetOption and dhcpv4.GetSingleOption methods (#63)Brandon Bennett
GetOption and GetOneOption are convenience methods for getting a DHCPv4 option from its Option Code. GetOption returns a list of options that match since the DHCP RFC allows for an option to be present multiple times with its values appended together. (Note: I am not sure I've ever seen this done and it's not clear if how option parsing would work for more complex values. Is appending done at the byte level? ) GetOneOption will return the first found option that matches a code.
2018-03-26Add some more specific bsdp options + vendor specific implementation (#21)Sean Karlage
Add some more specific options + vendor specific implementation
2018-03-16Add more specific dhcpv4 options (#17)Sean Karlage
Added several DHCPv4 options
2018-03-13Add OptionGeneric, comment out other code so tests compile/passSean Karlage
2018-03-06Fixed types in dhcpv4 and dhcpv6Andrea Barberio
2018-03-05Move bsdp functionality to its own subpackage. Bring in ↵Sean Karlage
stretchr/testify/assert for nicer asserts
2018-03-03Add better formatting for vendor optsSean Karlage
2018-03-03Add BSDP supportSean Karlage
Adds support for constructing INFORM/ACK messages from Apple's Boot Service Discovery Protocol for netbooting (pxebooting) Apple hardware. The canonical reference for BSDP is: http://opensource.apple.com/source/bootp/bootp-198.1/Documentation/BSDP.doc
2018-02-02More commentsAndrea Barberio
2018-02-02More commentsAndrea Barberio
2018-02-02Improved commentsAndrea Barberio
2018-02-02Changed API from NewDiscovery to NewDiscoveryForInterfaceAndrea Barberio
2018-02-02Removed wrong charAndrea Barberio
2018-02-02Replaced ugly code for generating MAC stringAndrea Barberio
2017-12-05Initial commitAndrea Barberio