documentation theme update, version bumping to 5.0, changes to cleanup pass for ns3 code
This commit is contained in:
parent
340b37444b
commit
8155cdc617
14 changed files with 54 additions and 52 deletions
|
@ -7,7 +7,7 @@
|
||||||
- leverage "logzero" module to make easy usage of the standard logging module
|
- leverage "logzero" module to make easy usage of the standard logging module
|
||||||
- improvements to documentation across the code base
|
- improvements to documentation across the code base
|
||||||
- initial work to separate the dependence on TCP API messaging from the core library (easier core scripting)
|
- initial work to separate the dependence on TCP API messaging from the core library (easier core scripting)
|
||||||
- beta support for running core in openvswitch mode, leveraging ovs bridges, instead of linux bridges
|
- beta support for running core in Open vSwitch mode, leveraging Open vSwitch bridges, instead of Linux bridges
|
||||||
* SERVICES:
|
* SERVICES:
|
||||||
- added Ryu SDN controller service
|
- added Ryu SDN controller service
|
||||||
- added Open vSwitch service
|
- added Open vSwitch service
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#
|
#
|
||||||
# this defines the CORE version number, must be static for AC_INIT
|
# this defines the CORE version number, must be static for AC_INIT
|
||||||
#
|
#
|
||||||
AC_INIT(core, m4_esyscmd_s([./revision.sh 4.8]), core-dev@pf.itd.nrl.navy.mil)
|
AC_INIT(core, m4_esyscmd_s([./revision.sh 5.0]), core-dev@pf.itd.nrl.navy.mil)
|
||||||
VERSION=$PACKAGE_VERSION
|
VERSION=$PACKAGE_VERSION
|
||||||
CORE_VERSION=$PACKAGE_VERSION
|
CORE_VERSION=$PACKAGE_VERSION
|
||||||
CORE_VERSION_DATE=m4_esyscmd_s([./revision.sh -d])
|
CORE_VERSION_DATE=m4_esyscmd_s([./revision.sh -d])
|
||||||
|
|
|
@ -97,7 +97,7 @@ uninstall-local:
|
||||||
|
|
||||||
# Python package uninstall
|
# Python package uninstall
|
||||||
uninstall-hook:
|
uninstall-hook:
|
||||||
yes | pip uninstall core_python
|
yes | pip uninstall core-python
|
||||||
rm -f ${pythondir}/core_python_netns-1.0-py${PYTHON_VERSION}.egg-info
|
rm -f ${pythondir}/core_python_netns-1.0-py${PYTHON_VERSION}.egg-info
|
||||||
rm -rf ${pythondir}/core
|
rm -rf ${pythondir}/core
|
||||||
rmdir -p $(coreexservicesdir) || true
|
rmdir -p $(coreexservicesdir) || true
|
||||||
|
|
|
@ -41,7 +41,7 @@ def add_to_server(session):
|
||||||
"""
|
"""
|
||||||
global server
|
global server
|
||||||
try:
|
try:
|
||||||
server.addsession(session)
|
server.add_session(session)
|
||||||
return True
|
return True
|
||||||
except NameError:
|
except NameError:
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -30,7 +30,7 @@ def add_to_server(session):
|
||||||
"""
|
"""
|
||||||
global server
|
global server
|
||||||
try:
|
try:
|
||||||
server.addsession(session)
|
server.add_session(session)
|
||||||
return True
|
return True
|
||||||
except NameError:
|
except NameError:
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -2,7 +2,7 @@ from setuptools import setup
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="corens3-python",
|
name="corens3-python",
|
||||||
version="5.0.0",
|
version="5.0",
|
||||||
packages=[
|
packages=[
|
||||||
"corens3",
|
"corens3",
|
||||||
],
|
],
|
||||||
|
|
|
@ -7,5 +7,3 @@ pycco==0.5.1
|
||||||
pytest==3.0.7
|
pytest==3.0.7
|
||||||
pytest-cov==2.5.1
|
pytest-cov==2.5.1
|
||||||
pytest-runner==2.11.1
|
pytest-runner==2.11.1
|
||||||
sphinx==1.4.8
|
|
||||||
sphinx_rtd_theme==0.1.9
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ Defines how CORE will be built for installation.
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
|
||||||
setup(name="core-python",
|
setup(name="core-python",
|
||||||
version="5.0.0",
|
version="5.0",
|
||||||
packages=[
|
packages=[
|
||||||
"core",
|
"core",
|
||||||
"core.addons",
|
"core.addons",
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
# serve to show the default.
|
# serve to show the default.
|
||||||
|
|
||||||
import sys, os
|
import sys, os
|
||||||
|
import sphinx_rtd_theme
|
||||||
|
|
||||||
# If extensions (or modules to document with autodoc) are in another directory,
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
# add these directories to sys.path here. If the directory is relative to the
|
# add these directories to sys.path here. If the directory is relative to the
|
||||||
|
@ -91,7 +92,7 @@ pygments_style = 'sphinx'
|
||||||
|
|
||||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
# a list of builtin themes.
|
# a list of builtin themes.
|
||||||
html_theme = 'default'
|
html_theme = 'sphinx_rtd_theme'
|
||||||
|
|
||||||
# Theme options are theme-specific and customize the look and feel of a theme
|
# Theme options are theme-specific and customize the look and feel of a theme
|
||||||
# further. For a list of options available for each theme, see the
|
# further. For a list of options available for each theme, see the
|
||||||
|
@ -99,7 +100,7 @@ html_theme = 'default'
|
||||||
#html_theme_options = {}
|
#html_theme_options = {}
|
||||||
|
|
||||||
# Add any paths that contain custom themes here, relative to this directory.
|
# Add any paths that contain custom themes here, relative to this directory.
|
||||||
#html_theme_path = []
|
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
|
||||||
|
|
||||||
# The name for this set of Sphinx documents. If None, it defaults to
|
# The name for this set of Sphinx documents. If None, it defaults to
|
||||||
# "<project> v<release> documentation".
|
# "<project> v<release> documentation".
|
||||||
|
|
|
@ -30,17 +30,11 @@ demonstrations, application and platform testing, evaluating networking
|
||||||
scenarios, security studies, and increasing the size of physical test networks.
|
scenarios, security studies, and increasing the size of physical test networks.
|
||||||
|
|
||||||
What's New?
|
What's New?
|
||||||
=================
|
===========
|
||||||
For readers who are already familiar with CORE and have read this manual before, below is a list of what changed in version 4.8:
|
For readers who are already familiar with CORE and have read this manual before, below is a list of what changed in version 5.0:
|
||||||
|
|
||||||
* :ref:`Configuration_Files` - a new XML format has been defined by the U.S. Naval Research Lab (NRL) for the Network Management Framework. .
|
|
||||||
|
|
||||||
* :ref:`EMANE` - `Release 0.9.2 of EMANE <https://github.com/adjacentlink/emane/wiki/Release-Notes#092>`_ included a new capability that, in order to be leveraged, needs changes on how it is deployed by CORE. The EMANE section of this document has been updated with new method of connecting together the deployed instances.
|
|
||||||
* :ref:`Control_Network` - with EMANE 0.9.2, the CORE control network has become an important component of CORE. Auxiliary control networks have been added to the primary control network to host EMANE traffic. As a result, the discussion on the control network has been elevated to a top level topic.
|
|
||||||
* `Tips, Hints, Important Information` - miscellaneous information added to several chapters in the document.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* :ref:`Services` - Added Ryu SD and Open vSwitch services
|
||||||
|
* :ref:`Python_Scripting` - Updated script examples to reflect code changes
|
||||||
|
|
||||||
.. index::
|
.. index::
|
||||||
single: CORE; components of
|
single: CORE; components of
|
||||||
|
@ -109,7 +103,7 @@ and FreeBSD systems. The primary platform used for development is Linux.
|
||||||
single: LXC
|
single: LXC
|
||||||
single: network namespaces
|
single: network namespaces
|
||||||
|
|
||||||
* :ref:`Linux` CORE uses Linux network namespace virtualization to build virtual nodes, and ties them together with virtual networks using Linux Ethernet bridging.
|
* :ref:`Linux` CORE uses Linux network namespace virtualization to build virtual nodes, and ties them together with virtual networks using Linux Ethernet bridging.
|
||||||
* :ref:`FreeBSD` CORE uses jails with a network stack virtualization kernel option to build virtual nodes, and ties them together with virtual networks using BSD's Netgraph system.
|
* :ref:`FreeBSD` CORE uses jails with a network stack virtualization kernel option to build virtual nodes, and ties them together with virtual networks using BSD's Netgraph system.
|
||||||
|
|
||||||
|
|
||||||
|
@ -154,7 +148,7 @@ running programs. Starting with FreeBSD 8.0, a new `vimage` kernel option
|
||||||
extends BSD jails so that each jail can have its own virtual network stack --
|
extends BSD jails so that each jail can have its own virtual network stack --
|
||||||
its own networking variables such as addresses, interfaces, routes, counters,
|
its own networking variables such as addresses, interfaces, routes, counters,
|
||||||
protocol state, socket information, etc. The existing networking algorithms and
|
protocol state, socket information, etc. The existing networking algorithms and
|
||||||
code paths are intact but operate on this virtualized state.
|
code paths are intact but operate on this virtualized state.
|
||||||
|
|
||||||
Each jail plus network stack forms a lightweight virtual machine. These are
|
Each jail plus network stack forms a lightweight virtual machine. These are
|
||||||
named jails or *virtual images* (or *vimages*) and are created using a the
|
named jails or *virtual images* (or *vimages*) and are created using a the
|
||||||
|
@ -172,13 +166,13 @@ added this functionality to the
|
||||||
mainline 8.0-RELEASE and newer kernels.
|
mainline 8.0-RELEASE and newer kernels.
|
||||||
|
|
||||||
.. index::
|
.. index::
|
||||||
single: FreeBSD; Netgraph
|
single: FreeBSD; Netgraph
|
||||||
|
|
||||||
The FreeBSD Operating System kernel features a graph-based
|
The FreeBSD Operating System kernel features a graph-based
|
||||||
networking subsystem named Netgraph. The netgraph(4) manual page quoted below
|
networking subsystem named Netgraph. The netgraph(4) manual page quoted below
|
||||||
best defines this system:
|
best defines this system:
|
||||||
|
|
||||||
The netgraph system provides a uniform and modular system for the
|
The netgraph system provides a uniform and modular system for the
|
||||||
implementation of kernel objects which perform various networking functions.
|
implementation of kernel objects which perform various networking functions.
|
||||||
The objects, known as nodes, can be arranged into arbitrarily complicated
|
The objects, known as nodes, can be arranged into arbitrarily complicated
|
||||||
graphs. Nodes have hooks which are used to connect two nodes together,
|
graphs. Nodes have hooks which are used to connect two nodes together,
|
||||||
|
@ -202,8 +196,8 @@ best defines this system:
|
||||||
Prior Work
|
Prior Work
|
||||||
==========
|
==========
|
||||||
|
|
||||||
The Tcl/Tk CORE GUI was originally derived from the open source
|
The Tcl/Tk CORE GUI was originally derived from the open source
|
||||||
`IMUNES <http://www.tel.fer.hr/imunes/>`_
|
`IMUNES <http://www.tel.fer.hr/imunes/>`_
|
||||||
project from the University of Zagreb
|
project from the University of Zagreb
|
||||||
as a custom project within Boeing Research and Technology's Network
|
as a custom project within Boeing Research and Technology's Network
|
||||||
Technology research group in 2004. Since then they have developed the CORE
|
Technology research group in 2004. Since then they have developed the CORE
|
||||||
|
@ -212,7 +206,7 @@ Python framework, and made numerous user- and kernel-space developments, such
|
||||||
as support for wireless networks, IPsec, the ability to distribute emulations,
|
as support for wireless networks, IPsec, the ability to distribute emulations,
|
||||||
simulation integration, and more. The IMUNES project also consists of userspace
|
simulation integration, and more. The IMUNES project also consists of userspace
|
||||||
and kernel components. Originally, one had to download and apply a patch for
|
and kernel components. Originally, one had to download and apply a patch for
|
||||||
the FreeBSD 4.11 kernel, but the more recent
|
the FreeBSD 4.11 kernel, but the more recent
|
||||||
`VirtNet <http://www.nlnet.nl/project/virtnet/>`_
|
`VirtNet <http://www.nlnet.nl/project/virtnet/>`_
|
||||||
effort has brought network stack
|
effort has brought network stack
|
||||||
virtualization to the more modern FreeBSD 8.x kernel.
|
virtualization to the more modern FreeBSD 8.x kernel.
|
||||||
|
|
2
doc/requirements.txt
Normal file
2
doc/requirements.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
sphinx==1.6.3
|
||||||
|
sphinx_rtd_theme==0.2.4
|
|
@ -21,10 +21,10 @@ or online via interactive Python.
|
||||||
The best starting point is the sample scripts that are
|
The best starting point is the sample scripts that are
|
||||||
included with CORE. If you have a CORE source tree, the example script files
|
included with CORE. If you have a CORE source tree, the example script files
|
||||||
can be found under :file:`core/daemon/examples/netns/`. When CORE is installed
|
can be found under :file:`core/daemon/examples/netns/`. When CORE is installed
|
||||||
from packages, the example script files will be in
|
from packages, the example script files will be in
|
||||||
:file:`/usr/share/core/examples/netns/` (or the :file:`/usr/local/...` prefix
|
:file:`/usr/share/core/examples/netns/` (or the :file:`/usr/local/...` prefix
|
||||||
when installed from source.) For the most part, the example scripts
|
when installed from source.) For the most part, the example scripts
|
||||||
are self-documenting; see the comments contained within the Python code.
|
are self-documenting; see the comments contained within the Python code.
|
||||||
|
|
||||||
The scripts should be run with root privileges because they create new
|
The scripts should be run with root privileges because they create new
|
||||||
network namespaces. In general, a CORE Python script does not connect to the
|
network namespaces. In general, a CORE Python script does not connect to the
|
||||||
|
@ -37,20 +37,19 @@ allow for GUI connections.
|
||||||
Here are the basic elements of a CORE Python script:
|
Here are the basic elements of a CORE Python script:
|
||||||
::
|
::
|
||||||
|
|
||||||
#!/usr/bin/python
|
from core.session import Session
|
||||||
|
from core.netns import nodes
|
||||||
|
|
||||||
from core import pycore
|
session = Session(persistent=True)
|
||||||
|
node1 = session.add_object(cls=nodes.CoreNode, name="n1")
|
||||||
session = pycore.Session(persistent=True)
|
node2 = session.add_object(cls=nodes.CoreNode, name="n2")
|
||||||
node1 = session.addobj(cls=pycore.nodes.CoreNode, name="n1")
|
hub1 = session.add_object(cls=nodes.HubNode, name="hub1")
|
||||||
node2 = session.addobj(cls=pycore.nodes.CoreNode, name="n2")
|
|
||||||
hub1 = session.addobj(cls=pycore.nodes.HubNode, name="hub1")
|
|
||||||
node1.newnetif(hub1, ["10.0.0.1/24"])
|
node1.newnetif(hub1, ["10.0.0.1/24"])
|
||||||
node2.newnetif(hub1, ["10.0.0.2/24"])
|
node2.newnetif(hub1, ["10.0.0.2/24"])
|
||||||
|
|
||||||
node1.icmd(["ping", "-c", "5", "10.0.0.2"])
|
node1.icmd(["ping", "-c", "5", "10.0.0.2"])
|
||||||
session.shutdown()
|
session.shutdown()
|
||||||
|
|
||||||
|
|
||||||
The above script creates a CORE session having two nodes connected with a hub.
|
The above script creates a CORE session having two nodes connected with a hub.
|
||||||
The first node pings the second node with 5 ping packets; the result is
|
The first node pings the second node with 5 ping packets; the result is
|
||||||
|
@ -63,19 +62,19 @@ a test ping to the other.
|
||||||
|
|
||||||
The CORE Python modules are documented with comments in the code. From an
|
The CORE Python modules are documented with comments in the code. From an
|
||||||
interactive Python shell, you can retrieve online help about the various
|
interactive Python shell, you can retrieve online help about the various
|
||||||
classes and methods; for example *help(pycore.nodes.CoreNode)* or
|
classes and methods; for example *help(nodes.CoreNode)* or
|
||||||
*help(pycore.Session)*.
|
*help(Session)*.
|
||||||
|
|
||||||
An interactive development environment (IDE) is available for browsing
|
An interactive development environment (IDE) is available for browsing
|
||||||
the CORE source, the
|
the CORE source, the
|
||||||
`Eric Python IDE <http://eric-ide.python-projects.org/index.html>`_.
|
`Eric Python IDE <http://eric-ide.python-projects.org/index.html>`_.
|
||||||
CORE has a project file that can be opened by Eric, in the source under
|
CORE has a project file that can be opened by Eric, in the source under
|
||||||
:file:`core/daemon/CORE.e4p`.
|
:file:`core/daemon/CORE.e4p`.
|
||||||
This IDE
|
This IDE
|
||||||
has a class browser for viewing a tree of classes and methods. It features
|
has a class browser for viewing a tree of classes and methods. It features
|
||||||
syntax highlighting, auto-completion, indenting, and more. One feature that
|
syntax highlighting, auto-completion, indenting, and more. One feature that
|
||||||
is helpful with learning the CORE Python modules is the ability to generate
|
is helpful with learning the CORE Python modules is the ability to generate
|
||||||
class diagrams; right-click on a class, choose *Diagrams*, and
|
class diagrams; right-click on a class, choose *Diagrams*, and
|
||||||
*Class Diagram*.
|
*Class Diagram*.
|
||||||
|
|
||||||
.. index:: daemon versus script
|
.. index:: daemon versus script
|
||||||
|
@ -90,12 +89,12 @@ class diagrams; right-click on a class, choose *Diagrams*, and
|
||||||
does not need to be running for your script to work.
|
does not need to be running for your script to work.
|
||||||
|
|
||||||
The session created by a Python script may be viewed in the GUI if certain
|
The session created by a Python script may be viewed in the GUI if certain
|
||||||
steps are followed. The GUI has a :ref:`File_Menu`, *Execute Python script...*
|
steps are followed. The GUI has a :ref:`File_Menu`, *Execute Python script...*
|
||||||
option for running a script and automatically connecting to it. Once connected,
|
option for running a script and automatically connecting to it. Once connected,
|
||||||
normal GUI interaction is possible, such as moving and double-clicking nodes,
|
normal GUI interaction is possible, such as moving and double-clicking nodes,
|
||||||
activating Widgets, etc.
|
activating Widgets, etc.
|
||||||
|
|
||||||
The script should have a line such as the following for running it from
|
The script should have a line such as the following for running it from
|
||||||
the GUI.
|
the GUI.
|
||||||
::
|
::
|
||||||
|
|
||||||
|
@ -113,14 +112,14 @@ A global ``server`` variable is exposed to the script pointing to the
|
||||||
'''
|
'''
|
||||||
global server
|
global server
|
||||||
try:
|
try:
|
||||||
server.addsession(session)
|
server.add_session(session)
|
||||||
return True
|
return True
|
||||||
except NameError:
|
except NameError:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
session = pycore.Session(persistent=True)
|
session = Session(persistent=True)
|
||||||
add_to_server(session)
|
add_to_server(session)
|
||||||
|
|
||||||
|
|
||||||
|
@ -129,7 +128,7 @@ otherwise they will be grouped at the coordinates ``<0, 0>``. First sketching
|
||||||
the topology in the GUI and then using the *Export Python script* option may
|
the topology in the GUI and then using the *Export Python script* option may
|
||||||
help here.
|
help here.
|
||||||
::
|
::
|
||||||
|
|
||||||
switch.setposition(x=80,y=50)
|
switch.setposition(x=80,y=50)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
core (5.0-0ubuntu1) precise; urgency=low
|
||||||
|
|
||||||
|
* Added Ryu SD and Open vSwitch services, code cleanup and refactoring
|
||||||
|
|
||||||
|
-- CORE Developers <core-dev@pf.itd.nrl.navy.mil> XXX, XX XXX 2017 00:00:00 -0700
|
||||||
|
|
||||||
core (4.8-0ubuntu1) precise; urgency=low
|
core (4.8-0ubuntu1) precise; urgency=low
|
||||||
|
|
||||||
* Support for NRL Network Modeling Framework (NMF) XML representation, bugfixes
|
* Support for NRL Network Modeling Framework (NMF) XML representation, bugfixes
|
||||||
|
@ -18,7 +24,7 @@ core (4.6-0ubuntu1) precise; urgency=low
|
||||||
|
|
||||||
core (4.5-0ubuntu1) precise; urgency=low
|
core (4.5-0ubuntu1) precise; urgency=low
|
||||||
|
|
||||||
* XML support, SDT3D support, EMANE 0.8.1, ns-3 locations, code cleanup,
|
* XML support, SDT3D support, EMANE 0.8.1, ns-3 locations, code cleanup,
|
||||||
bugfixes, and more.
|
bugfixes, and more.
|
||||||
|
|
||||||
-- Jeff Ahrenholz <core-dev@pf.itd.nrl.navy.mil> Thu, 11 Apr 2013 14:19:05 -0700
|
-- Jeff Ahrenholz <core-dev@pf.itd.nrl.navy.mil> Thu, 11 Apr 2013 14:19:05 -0700
|
||||||
|
|
|
@ -16,7 +16,7 @@ Release: 1%{?dist}
|
||||||
Source: core-%{version}.tar.gz
|
Source: core-%{version}.tar.gz
|
||||||
URL: http://www.nrl.navy.mil/itd/ncs/products/core
|
URL: http://www.nrl.navy.mil/itd/ncs/products/core
|
||||||
Version: %{version}
|
Version: %{version}
|
||||||
%description
|
%description
|
||||||
The Common Open Research Emulator provides Python modules and a GUI for
|
The Common Open Research Emulator provides Python modules and a GUI for
|
||||||
building virtual networks using Linux network namespace containers and bridging.
|
building virtual networks using Linux network namespace containers and bridging.
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ Provides: core-daemon
|
||||||
# python-sphinx
|
# python-sphinx
|
||||||
%description daemon
|
%description daemon
|
||||||
The Common Open Research Emulator provides Python modules for building virtual
|
The Common Open Research Emulator provides Python modules for building virtual
|
||||||
networks using Linux network namespace containers and bridging.
|
networks using Linux network namespace containers and bridging.
|
||||||
|
|
||||||
%package gui
|
%package gui
|
||||||
Summary: Common Open Research Emulator GUI front-end
|
Summary: Common Open Research Emulator GUI front-end
|
||||||
|
@ -59,7 +59,7 @@ BuildRequires: make automake autoconf
|
||||||
Provides: core-gui
|
Provides: core-gui
|
||||||
%description gui
|
%description gui
|
||||||
The Common Open Research Emulator canvas-based Tcl/Tk GUI for easily drawing
|
The Common Open Research Emulator canvas-based Tcl/Tk GUI for easily drawing
|
||||||
virtual network topologies.
|
virtual network topologies.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
|
||||||
|
@ -410,6 +410,8 @@ fi
|
||||||
%{_sbindir}/vnoded
|
%{_sbindir}/vnoded
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* XXX XXX X 2017 CORE Developers <core-dev@pf.itd.nrl.navy.mil> - 5.0
|
||||||
|
- Added Ryu SD and Open vSwitch services, code cleanup and refactoring
|
||||||
* Fri Jun 5 2015 CORE Developers <core-dev@pf.itd.nrl.navy.mil> - 4.8
|
* Fri Jun 5 2015 CORE Developers <core-dev@pf.itd.nrl.navy.mil> - 4.8
|
||||||
- Support for NRL Network Modeling Framework (NMF) XML representation, bugfixes
|
- Support for NRL Network Modeling Framework (NMF) XML representation, bugfixes
|
||||||
* Wed Aug 6 2014 Jeff Ahrenholz <core-dev@pf.itd.nrl.navy.mil> - 4.7
|
* Wed Aug 6 2014 Jeff Ahrenholz <core-dev@pf.itd.nrl.navy.mil> - 4.7
|
||||||
|
|
Loading…
Add table
Reference in a new issue