Skip to content

Commit

Permalink
Merge branch 'release/5.2.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
ljerezchaves committed Sep 1, 2023
2 parents 302e3f4 + ee112bb commit ab3ff7b
Show file tree
Hide file tree
Showing 53 changed files with 1,898 additions and 1,066 deletions.
13 changes: 7 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ endif()

# Check for BOFUSS dependency

# List of BOFUSS headers files required by OFSwtich13
# List of BOFUSS headers files required by OFSwitch13
set(NS3_OFSWITCH13_BOFUSS_HEADERS
bofuss/action_set.h
bofuss/datapath.h
Expand Down Expand Up @@ -73,7 +73,7 @@ if(NOT bofuss_FOUND AND NOT ${bofuss_FOUND})
ExternalProject_Add(
bofuss_dep
GIT_REPOSITORY https://github.com/ljerezchaves/ofsoftswitch13.git
GIT_TAG 0901aeb7f1612016e43e774381507c2aaef4afc2
GIT_TAG 1b6106e3e3814c50b323e43b6bb2dec5ab13ffe7
PREFIX bofuss_dep
BUILD_IN_SOURCE TRUE
UPDATE_DISCONNECTED TRUE
Expand Down Expand Up @@ -143,11 +143,12 @@ set(header_files
set(test_sources
)

# Library to link the OFSwitch13 module
# Libraries to link to the OFSwitch13 module
set(libraries_to_link
${libcsma}
${libcore}
${libnetwork}
${libinternet}
${libapplications}
${libcsma}
${libpoint-to-point}
${libvirtual-net-device}
${bofuss_LIBRARIES}
Expand All @@ -162,7 +163,7 @@ build_lib(
TEST_SOURCES ${test_sources}
)

# Add BOFUSS dependecy to OFswitch13 module
# Add BOFUSS dependecy to OFSwitch13 module
if(NOT bofuss_FOUND AND NOT ${bofuss_FOUND})
add_dependencies(${libofswitch13} bofuss_dep)
if(NOT ${XCODE})
Expand Down
48 changes: 31 additions & 17 deletions RELEASE_NOTES
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,30 @@ OFSwitch13 release notes

This file contains OFSwitch13 release notes (most recent releases first).

Release 5.2.2 (Sep 01, 2023)
============================

- Removing examples/ofswitch13-qos-controller dependency from netanim module.

- Updating buffer timeout operation with millisecond resolution.

- Updating the maximum size of the parent OFSwitch13Queue class with the sum of
maximum size of internal queues. The operation mode (packets or bytes) of all
internal queues must be the same.

- This version is compatible with ns-3 versions 3.38 and 3.39 (including
patches). There is no backward compatibility with older ns-3 versions.

- Compilation was tested in Ubuntu 22.04.1 LTS.


Release 5.2.1 (Mar 31, 2023)
============================

- Replacing V4PingHelper by PingHelper in examples for ns-3.38 compatibility.

- This version is compatible with BOFUSS library release v5.2.x and ns-3
version 3.38 (including patches). There is no backward compatibility with
older ns-3 versions.
- This version is compatible with ns-3 version 3.38 (including patches). There
is no backward compatibility with older ns-3 versions.

- Compilation was tested in Ubuntu 22.04.1 LTS.

Expand All @@ -23,16 +38,15 @@ Release 5.2.0 (Mar 31, 2023)
- Updating CMakeLists.txt to automatically download and build the BOFUSS
library.

- Updating the module documentation to reflext the changes in library building.
- Updating the module documentation to reflect the changes in library building.

- Replacing the outdated ofsoftswitch13 library name by BOFUSS in the project
(source code and documentation).

- Refactoring the BOFUSS ns3lib branch to simplify library compilation.

- This version is compatible with BOFUSS library release v5.2.x and ns-3
versions 3.36 and 3.37 (including patches). There is no backward
compatibility with older ns-3 versions.
- This version is compatible with ns-3 versions 3.36 and 3.37 (including
patches). There is no backward compatibility with older ns-3 versions.

- Compilation was tested in Ubuntu 22.04.1 LTS.

Expand Down Expand Up @@ -77,17 +91,17 @@ Release 5.0.0 (Dec 19, 2021)
- BE AWARE THAT this release brings incompatible API changes in respect to
prior OFSwitch13 versions.

- Refactoring OFSwitch13Controller::Dpctl* () methods:
* The DpctlExecute () method has no more overloaded definitions. The target
- Refactoring OFSwitch13Controller::Dpctl*() methods:
* The DpctlExecute() method has no more overloaded definitions. The target
switch (first parameter) must be the switch's datapath IP. Previous
signature using the Ptr<const RemoteSwitch> swtch pointer was removed.
Users can fix compilation errors by just using swtch->GetDpId () when
invoking DpctlExecute ();
* The DpctlSchedule () method was deprecated in favor of DpctlExecute ().
When the switch is not connected to the controller, the DpctlExecute ()
Users can fix compilation errors by just using swtch->GetDpId() when
invoking DpctlExecute();
* The DpctlSchedule() method was deprecated in favor of DpctlExecute().
When the switch is not connected to the controller, the DpctlExecute()
will automatically schedule the command for execution just after the
handshake procedure. This is particularly useful for executing dpctl
commands when creating the topology, before invoking Simulator::Run ().
commands when creating the topology, before invoking Simulator::Run().

- Creating a new OFSwitch13Device::TableDrop trace source to notify unmatched
packets dropped by flow tables without table-miss entries. A new TabDrps
Expand Down Expand Up @@ -356,7 +370,7 @@ Release 3.0.0 (Feb 10, 2017)

- Removing the controller address attribute from the OpenFlow device. It now
must be indicated by the helper as a parameter to the
StartControllerConnection () device method.
StartControllerConnection() device method.

- Creating the OFSwitch13StatsCalculator for switch performance monitoring.

Expand All @@ -372,7 +386,7 @@ Release 3.0.0 (Feb 10, 2017)
- Refactoring the OFSwitch13Controller class:
* Splitting the DpctlCommand into 'execute' and 'schedule' versions;
* Removing dependence from OFSwitch13Device class;
* Renaming ConnectionStarted () method to HandshakeSuccessful () to reflect
* Renaming ConnectionStarted() method to HandshakeSuccessful() to reflect
the method semantic;
* Implementing the handshake procedure;
* Implementing barrier reply, hello and features reply handlers;
Expand All @@ -386,7 +400,7 @@ Release 3.0.0 (Feb 10, 2017)
* Supporting the configuration of OpenFlow networks domains with multiple
controllers;
* Removing the dependence of installing the controller before the switches;
* Introducing the CreateOpenFlowChannels () member function to effectively
* Introducing the CreateOpenFlowChannels() member function to effectively
connect switches to controllers after installing switches and controllers
into respective nodes (the use of this function is mandatory).

Expand Down
4 changes: 2 additions & 2 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@
# built documents.
#
# The short X.Y version.
version = u'5.2.1'
version = u'5.2.2'
# The full version, including alpha/beta/rc tags.
release = u'5.2.1'
release = u'5.2.2'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
4 changes: 2 additions & 2 deletions doc/source/ofswitch13-description.rst
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,8 @@ For |ns3| OpenFlow users who want to port existing code to this new module, plea
The only required modification to the |ns3| source code for |ofs13| integration is the inclusion of the new OpenFlow receive callback in the ``CsmaNetDevice`` and ``VirtualNetDevice``.
The module brings the patch for including this receive callback into |ns3| source code, available under ``utils/`` directory.

The current |ofs13| stable version is 5.2.1.
This version is compatible with |ns3| version 3.38, and will not compile with older |ns3| versions.
The current |ofs13| stable version is 5.2.2.
This version is compatible with |ns3| versions 3.38 and 3.39, and will not compile with older |ns3| versions.
If you need to use another |ns3| release, you can check the RELEASE_NOTES file for previous |ofs13| releases and their |ns3| version compatibility, but keep in mind that old releases may have known bugs and an old API.
It is strongly recommended to use the latest module version.

Expand Down
Loading

0 comments on commit ab3ff7b

Please sign in to comment.