diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2020-03-04 21:43:00 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2020-03-06 21:46:38 +0100 |
commit | 19ee83379cf483ab151dd1ad4e36d09483d6a223 (patch) | |
tree | 8f818ae12245130a63aee17c49050062db9aa8db /dhcpv6/option_dhcpv4_msg.go | |
parent | 7ea59fc95373dc2c34b2a81c0917618402affe0f (diff) |
dhcpv6: add DHCPv4-over-DHCPv6 support
Add message types, options, and modifier for handling DHCPv4-over-DHCPv6.
Refer to RFC 7341
Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
Diffstat (limited to 'dhcpv6/option_dhcpv4_msg.go')
-rw-r--r-- | dhcpv6/option_dhcpv4_msg.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/dhcpv6/option_dhcpv4_msg.go b/dhcpv6/option_dhcpv4_msg.go new file mode 100644 index 0000000..0a1a2b3 --- /dev/null +++ b/dhcpv6/option_dhcpv4_msg.go @@ -0,0 +1,39 @@ +package dhcpv6 + +import ( + "fmt" + + "github.com/insomniacslk/dhcp/dhcpv4" +) + +// OptDHCPv4Msg represents a OptionDHCPv4Msg option +// +// This module defines the OptDHCPv4Msg structure. +// https://www.ietf.org/rfc/rfc7341.txt +type OptDHCPv4Msg struct { + Msg *dhcpv4.DHCPv4 +} + +// Code returns the option code +func (op *OptDHCPv4Msg) Code() OptionCode { + return OptionDHCPv4Msg +} + +// ToBytes returns the option serialized to bytes. +func (op *OptDHCPv4Msg) ToBytes() []byte { + return op.Msg.ToBytes() +} + +func (op *OptDHCPv4Msg) String() string { + return fmt.Sprintf("OptDHCPv4Msg{%v}", op.Msg) +} + +// ParseOptDHCPv4Msg builds an OptDHCPv4Msg structure +// from a sequence of bytes. The input data does not include option code and length +// bytes. +func ParseOptDHCPv4Msg(data []byte) (*OptDHCPv4Msg, error) { + var opt OptDHCPv4Msg + var err error + opt.Msg, err = dhcpv4.FromBytes(data) + return &opt, err +} |