diff options
Diffstat (limited to 'dhcpv4/modifiers.go')
-rw-r--r-- | dhcpv4/modifiers.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/dhcpv4/modifiers.go b/dhcpv4/modifiers.go index 3b6ce70..2a9c35b 100644 --- a/dhcpv4/modifiers.go +++ b/dhcpv4/modifiers.go @@ -47,3 +47,19 @@ func WithNetboot(d *DHCPv4) *DHCPv4 { } return d } + +// WithRequestedOptions adds requested options to the packet +func WithRequestedOptions(optionCodes ...OptionCode) Modifier { + return func(d *DHCPv4) *DHCPv4 { + params := d.GetOneOption(OptionParameterRequestList) + if params == nil { + params = &OptParameterRequestList{} + d.AddOption(params) + } + opts := params.(*OptParameterRequestList) + for _, optionCode := range optionCodes { + opts.RequestedOpts = append(opts.RequestedOpts, optionCode) + } + return d + } +} |