From 24498fac2fa0950d12a5f6528847f6ca1602229b Mon Sep 17 00:00:00 2001 From: Dmitri Dolguikh Date: Tue, 2 Jan 2018 18:51:50 -0800 Subject: [PATCH] Create UDP address directly. Also dropped address zone from destination address as it wasn't needed. --- dhcp6/conn.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/dhcp6/conn.go b/dhcp6/conn.go index 14e5d86..4ef3ba3 100644 --- a/dhcp6/conn.go +++ b/dhcp6/conn.go @@ -109,12 +109,11 @@ func (c *Conn) RecvDHCP() (*Packet, net.IP, error) { // SendDHCP sends a dhcp packet to the specified ip address using Conn func (c *Conn) SendDHCP(dst net.IP, p []byte) error { - dstAddr, err := net.ResolveUDPAddr("udp6", fmt.Sprintf("[%s]:%s", dst.String() + "%en0", "546")) - if err != nil { - return fmt.Errorf("Error resolving ipv6 address %s: %s", dst.String(), err) + dstAddr := &net.UDPAddr{ + IP: dst, + Port: 546, } - _, err = c.conn.WriteTo(p, nil, dstAddr) - if err != nil { + _, err := c.conn.WriteTo(p, nil, dstAddr); if err != nil { return fmt.Errorf("Error sending a reply to %s: %s", dst.String(), err) } return nil