summaryrefslogtreecommitdiffhomepage
path: root/dhcpv4/nclient4
diff options
context:
space:
mode:
authorHu Jun <hujun.work@gmail.com>2020-07-17 12:00:24 -0700
committerHu Jun <hujun.work@gmail.com>2020-07-17 12:00:24 -0700
commiteb6e4e06c3a0f44b2a19a94a41e42b8cd6a786b9 (patch)
treea4b7513dbb3a2766628836d2fb7328940ef9a8ef /dhcpv4/nclient4
parent57847a4895b05f50095ce4412073937a3181f4fe (diff)
- change NewRleaseFromLease to NewRleaseFromACK, and move it to dhcpv4
Signed-off-by: Hu Jun <hujun.work@gmail.com>
Diffstat (limited to 'dhcpv4/nclient4')
-rw-r--r--dhcpv4/nclient4/lease.go19
1 files changed, 1 insertions, 18 deletions
diff --git a/dhcpv4/nclient4/lease.go b/dhcpv4/nclient4/lease.go
index bd684b0..184fae2 100644
--- a/dhcpv4/nclient4/lease.go
+++ b/dhcpv4/nclient4/lease.go
@@ -18,23 +18,6 @@ type Lease struct {
CreationTime time.Time
}
-// NewReleaseFromLease creates a DHCPv4 Release message from the lease.
-// default Release message without any Modifer is created as following:
-// - option Message Type is Release
-// - ClientIP is set to lease.ACK.YourIPAddr
-// - ClientHWAddr is set to lease.ACK.ClientHWAddr
-// - Unicast
-// - option Server Identifier is set to ServerIdentifier of lease.ACK
-func NewReleaseFromLease(lease *Lease, modifiers ...dhcpv4.Modifier) (*dhcpv4.DHCPv4, error) {
- return dhcpv4.New(dhcpv4.PrependModifiers(modifiers,
- dhcpv4.WithMessageType(dhcpv4.MessageTypeRelease),
- dhcpv4.WithClientIP(lease.ACK.YourIPAddr),
- dhcpv4.WithHwAddr(lease.ACK.ClientHWAddr),
- dhcpv4.WithBroadcast(false),
- dhcpv4.WithOption(dhcpv4.OptServerIdentifier(lease.ACK.ServerIdentifier())),
- )...)
-}
-
// Release send DHCPv4 release messsage to server, based on specified lease.
// release is sent as unicast per RFC2131, section 4.4.4.
// Note: some DHCP server requries of using assigned IP address as source IP,
@@ -43,7 +26,7 @@ func (c *Client) Release(lease *Lease, modifiers ...dhcpv4.Modifier) error {
if lease == nil {
return fmt.Errorf("lease is nil")
}
- req, err := NewReleaseFromLease(lease, modifiers...)
+ req, err := dhcpv4.NewReleaseFromACK(lease.ACK, modifiers...)
if err != nil {
return fmt.Errorf("fail to create release request,%w", err)
}