code: func (s *Server) ListenAndServe() error {
  	// Open UDP6 packet connection listener on specified address
  	conn, err := net.ListenPacket("udp6", s.Addr)
  	if err != nil {
  		return err
  	}
  
  	defer conn.Close()
  	return s.Serve(ipv6.NewPacketConn(conn))
  }
docs: // ListenAndServe listens on the address specified by s.Addr using the network
  // interface defined in s.Iface.  Traffic from any other interface will be
  // filtered out and ignored.  Serve is called to handle serving DHCP traffic
  // once ListenAndServe opens a UDP6 packet connection.