.. _todo:

*****
To Do
*****

This section describes pieces of these documents that need some work.

All Sections
============

All the sections need to be spell checked.

Checked for guidelines.

:ref:`vhost`
============

:ref:`vhosttopo`
----------------

Get a better topology picture.

:ref:`vhost02`
--------------

The XML file refers to an iso image, come up with a procedure to build that image.
That should work when used with a cloud image. It should also be mentioned where
to get a cloud image.

It is mentioned that a queue size of 256 is not large enough. Come up wit a procedure
to change the queue size.


:ref:`users`
============

The getting started users guide needs an overview

:ref:`cmdreference`
===================

This section should be references to the doxygen links. The doxygen links will need to be cleaned up.
This section could be a quick reference only using commands we have tested.

:ref:`vswitchrtr`
=================

Needs some instructions or be removed.

:ref:`jvppjar`
==============

Not sure what value this provides.

