This commit is contained in:
Simon Zolin
2020-05-25 16:29:06 +03:00
parent 2acff7757b
commit c7cc4a9345
4 changed files with 67 additions and 61 deletions

View File

@@ -60,7 +60,7 @@ func (s *v6Server) ResetLeases(ll []*Lease) {
continue
}
s.leases = append(s.leases, l)
s.addLease(l)
}
}
@@ -578,36 +578,38 @@ func (s *v6Server) Start() error {
IP: net.ParseIP("::"),
Port: dhcpv6.DefaultServerPort,
}
server, err := server6.NewServer(iface.Name, laddr, s.packetHandler, server6.WithDebugLogger())
s.srv, err = server6.NewServer(iface.Name, laddr, s.packetHandler, server6.WithDebugLogger())
if err != nil {
return err
}
go func() {
err = server.Serve()
err = s.srv.Serve()
log.Error("DHCPv6: %s", err)
}()
return nil
}
// Reset - stop server
func (s *v6Server) Reset() {
s.leasesLock.Lock()
s.leases = nil
s.leasesLock.Unlock()
}
// Stop - stop server
func (s *v6Server) Stop() {
if s.srv == nil {
return
}
log.Debug("DHCPv6: stopping")
err := s.srv.Close()
if err != nil {
log.Error("DHCPv6: srv.Close: %s", err)
}
// now server.Serve() will return
s.srv = nil
}
// Reset - stop server
func (s *v6Server) Reset() {
s.leasesLock.Lock()
s.leases = nil
s.leasesLock.Unlock()
}
// Create DHCPv6 server