Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Latest Release v2024.04.1723 - 23 Apr 2024

Security

Reference, if Applicable

Description

All CVE's (see https://www.cve.org/ ) relevant to NE-ONE's operating system, layered packages e.g. python, openssl etc have been applied, up to and including those created on 22nd April 2024

We are not noting them individually at this time.

New Features

Reference, if Applicable

Description

NE1-336

New network configuration data for Oneweb, Starlink and Iridium.  This adds to the existing database of 2G, 3G, 4G, 5G, Wifi, GEO and WAN configuration data already present in NE-ONE.

NE1-355

Optionally set Latency and Loss asymmetrically on the Basic link settings page

It is now possible to set these parameters asymmetrically by using the new split feature next to the Common link parameters label.

Previously you had to go into advanced link settings to accomplish this

NE1-356

New feature to Swap Latency, Loss and Bandwidth parameters from one direction in a link to the other

Sometimes when using Asymmetric settings in the Basic settings dialog e.g. for Starlink, Oneweb or Iridium (see NE1-336)  or perhaps an Asymmetric DSL (ADSL) link the direction would be incorrect.  This new button, positioned next to the link name, swaps the values between the link's directions

NE1-337

Support for Moving Objects e.g. Vehicles, Aircraft, Trains and LEO Satellites etc.  

When you set parameters like Bandwidth, Linkspeed, Latency, Loss, Bit Errors, even routing, these have, up to now, been fixed values, until updated manually by a GUI user, automatically by a scenario, or automatically via the RESTful API.

We have aimed to make the places you can use these variables as ubiquitous as possible: in numeric parameter fields (including in TDMA and cloud rows), in routing and filter statements, in enable/disable checkboxes

Now, just like in Microsoft® Excel you can put in a variable that you define, or a formula involving time,  that you define (and optionally variables) and it's automatically computed and set.

More information on the specific features are outlined in NE1-338, NE1-339, NE1-340 and NE1-341 below. [The Software engineers amongst you will recognise that NE1-337 is in fact an 'Epic']

The features are fully documented, with many useful examples (for you to cut-paste), in the new Operator Manual which can be found onboard the NE-ONE in Help → Documentation in the new Chapter (16 currently): "Dynamic Formulas and Network Variables"

NE1-338

Enter dynamic formulas into fields, in a similar way that spreadsheets, like Microsoft® Excel allow formulas in cells.  

NOTE this feature is not available in all editions of NE-ONE

Wherever you could previously enter a parameter e.g.

  • a number like a value for latency 

  • a text field, like a route destination

  • A check box, like an enable, disable on a route

you can now enter a formula, by right mouse clicking on the field.  A Formula box will open up where you enter a formula.

The language of the formula is JavaScript and you can use:

  • JavaScript native functions e.g. Math.floor() etc. 

  • some additional functions we have provided, 

  • a special variable 't.ms' which has the value in milliseconds since the emulation was started

  • discrete variables defined by you - see NE1-339

A simple formula for latency, then, could be:

t.ms / 1000

which would raise the latency by 1ms* every second, but:

  • *Note that this formula can produce fractions, so after 500ms have elapsed it would produce 500/1000 = 0.5, so if you only want whole numbers of latency you can use:
    Math.floor(t.ms/1000)
    which rounds the computation down to the nearest whole number

  • But this would still allow the latency to grow continuously (in whole millisecond increments) with no upper boundary, so using Math.max() can limit this (to 100ms in this example):
    Math.

max
  • min(Math.floor(t.ms/1000),100)

  • What if we'd like the latency to go back to 0ms after it got to 100ms and start counting up again.  Then we could use JavaScripts modulo (remainder) operator '%':
    Math.floor(t.ms/1000) % 101
    [why 101? because modulo (%) delivers a maximum value 1 less than the divisor (101)]

Math.floor(), Math.max() etc. are functions from the standard JavaScript Math library. / and % are standard JavaScript operators.

A formula's value is recomputed by default every 100ms, but this is settable (per Network) in the  Point-to-Point or Multi-Point/Mesh designers' File → Network Variables → Time Recalculation Rate option

The above are clearly just a few examples of what's possible, see the documentation chapter referenced in NE1-337 for details and examples

NE1-339

Define (discrete) time based, network variables which can be used wherever fixed parameter values were entered or in formulas (see NE1-338)

NOTE this feature is not available in all editions of NE-ONE

When defining a network (Point-to-Point or Multi-Point/Mesh) on the File menu, there is a new option called Network Variables. This is where you can define your own variables.

It works by first adding one or more named Timelines which consist of time sequences (time 0 and other times you want to update the variables at).

For each Timeline you can define one or more Variables and give the variables a value at each time offset.

The variables, e.g. x can then be used standalone (just the variable) or in combination e.g. Math.sin(x)*2 in formulas - see NE1-338

Sometimes you may already have variables or parameters you want to use from another product e.g. Microsoft® Excel or MathWorks® MATLAB, in this case you can upload a csv file exported by those products using the Import from CSV feature

These are clearly just a few examples of what's possible, see the documentation chapter referenced in NE1-337 for details and examples

NE1-340

Define Custom Code 

Sometimes simple one line formulas (see NE1-338) aren't sufficient and you need to write a block of code, or create a new function that you want to use in a formula.

For this we've provided a place you can enter custom (JavaScript) code which is stored and executed with the emulation

NOTE this feature is not available in all editions of NE-ONE

When defining a network (Point-to-Point or Multi-Point/Mesh) on the File menu, there is a new option called Custom Code. This is where you can define your own custom JavaScript code. The Custom Code dialog box permanently adds the custom JavaScript code to the network which is stored with the network definition and is executed automatically each time the network is started.

Custom code can be used with or without variables or formulas and it therefore is documented in its own chapter in the new Operator Manual which can be found onboard the NE-ONE in Help → Documentation in the new Chapter (14 currently): "Using the Script Editor and Custom Code"

NE1-341

Built-In Formulas  

Sometimes the JavaScript Math library doesn't quite have what you need, and while you could add more functionality with custom code (see NE1-340 above) - there are some useful functions we thought would save you and us a lot of time, so we pre-defined them:

  • lerp (linear interpolation) 

  • lerpOverTime (linear interpolation) over time

  • sinewave - you define the frequency, amplitude etc

  • convergentSine  - a sinewave that converges to amplitude 0

  • PingPong - switch between a pair of values over time

NOTE this feature is not available in all editions of NE-ONE

The features are fully documented, with many useful examples (for you to cut-paste), in the new Operator Manual which can be found onboard the NE-ONE in Help → Documentation in the new Chapter (16 currently): "Dynamic Formulas and Network Variables" - section 4

NE1-342

Optimize Network Packet Performance by skipping unnecessary nodes (optional)

When data is sent from a Link to a Node and the only thing the node is going to do is to send it directly to a port (Hardware or Soft Port) then the node can be (optionally) skipped and the data sent directly to the port from the link.

The option to enable this can be found when defining a network (Point-to-Point or Multi-Point/Mesh) on the File menu, there is a new option called Optimize Network - a simple checkbox to turn it on.

There are implications, all correct behaviour when you consider them::

  • The statistics for the node no longer show the data from that link, because it skips the node

  • a Packet capture on the node will not show packets from the link, because it skips the node

  • Live Packet Monitoring on the node will not show packets from the link, because it skips the node

The benefits are clear though, the node which is acting as router no longer has to handle or make a routing decision on the skipped packets reducing a potential bottleneck.

If tracing routing paths through a network using Live Packet Monitoring or taking Packet Captures from nodes it would be best to turn this feature off.  You can then turn it on again when tracing is complete for efficiency.

NE1-345

Auto Generated Routes

You can now define which subnets are attached to which nodes in the Multi-Point Designer by clicking the Node and choosing the Subnets option from the sidebar.  It's a list of subnets in CIDR notation per node.

Then when all the subnets are defined choose the Auto-Configure Routes → Recalculate Routes and it will calculate all the routes required in every node to make the routing to the destination correct.  A big time saver and mistake eliminator over doing it manually.

This works for all topologies - mesh, hub and spoke, cloud (including TDMA mesh), multi-hop, free form and mixtures of these.

If more than one path is available to a target subnet then the shortest path (literally, per the network drawing is chosen), so you can adjust the path by moving nodes on the diagram and recalculating again.

NE1-346

Populate subnets from soft ports

This is a time saving feature which goes hand in hand with NE1-345.

Rather than defining the subnets manually, if you've already attached IPv4 softports to the nodes then the subnets will be automatically set up using the soft ports IP address and subnet mask.  

To use this, from the Multi-Point Designer choose Auto-Configure Routes → Populate subnets from soft ports - the subnets will be added to the subnet list (see NE1-345) of every node with an IPv4 Soft Port attached. (Note if more subnets are needed then you can add them using the procedure outlined in NE1-345).  Then when done you can use Auto-Configure Routes → Recalculate Routes  to build the routing tables as per NE1-345

NE1-358

The Port Manager now has an optional list view mode

This feature is there to support easier use of large numbers of soft portswhich could cause this non-list view to need a lot of panning etc.

To switch on list view navigate to Management → Preferences  and toggle the switch Use List Port Manager. The the port manager will now be in list view mode until switched back.

List view is a combination of expandable/collapsable port hierarchies with a scrollable display.

There is also a search box to locate a port by name in its heirarchy

Improvements

Reference, if Applicable

Description

NE1-343

An option for Packet Replay (both PPR and IPR) which gets around the 100 streams selection limit

This is provided by a new workflow in the Packet Reply DialogSelect Streams Feature called Custom filtering and routing

NE1-344

Filter which packets to send in Packet Replay using our powerful Expression Syntax

NE1-347

The diagnostic process invoked by the Management → Platform Settings → Diagnostics Gui option now provides additional data on Port statistics, Port Status, Packet Pools and Object status.

NE1-349

Support for the new 4 line LCD screen in the Generation 5 Desktop system has been enhanced

Initial support was first added for this new LCD panel in v2024.02.1556.2 - this has been enhanced:

  • A section on how to use the new LCD has been added to the Operator manual

  • Some Timeout values on dialogs have been improved for easier use

  • The display now shows an NE-ONE, starting  message on start up not the default LCD Manufacturers Logo

  • Many minor improvements

The operation of this screen and buttons is documented as the V2 LCD Panel Operation, section 3 in the LCD Panel Chapter (17, currently) of the Operator Guide 

-

Miscellaneous minor improvements

Bug Fixes

Reference, if Applicable

Description

NE1-348

City-to-city latency would not change values if a city was changed in an update.  This is now fixed.

NE1-349

In build 1556, versions: v2023.12.1556, v2024.01.1556.1 and v2024.02.1556.2, under certain workflows, parameters could be incorrectly written back to the Network with incorrect quotation marks involving backticks ` and quotes marks (", ').  This prevented the network from running until edited to be correct.  Patches were supplied to affected customers.  This is now fixed.

NE1-350

There were issues with using very large strings > 2047 characters which meant large 'Expressions' e.g. in Expression routes or Expression Filters would not work.  This is now fixed  

NE1-351

The boot splash screen would display as text, rather than graphic.  This is fixed

NE1-352

If a child port was added to a port in a port pair the port-pair was invalidly left pointing to the parent port, which is no longer directly usable as it has a child.  The port pair is now deleted if a child is added, with a warning message. 

NE1-353

PCAP files with packet sizes > 2048 bytes were not properly being handled in Packet Replay and Live Packet Monitoring.  This is now fixed

NE1-354

The 1st digits in large numbers are not visible in reports.  This was due to field width restrictions.  This is now fixed.

NE1-357

In advanced link settings it was not possible to change the link name.  This is now fixed.

NE1-359

Changing Linkspeed to 1.0 Mbps in Basic settings caused it to be replaced by 1 - this was a little troublesome if incrementally reducing bandwidth by 0.1 Mbps at a time while manually goal seeking, for example.

This is now fixed.

NE1-360

An engine crash could occur if a routing table was updated at the precise moment it was routing a packet.

This is now fixed

NE1-361

Attempting to change a hardware port status via the RESTful API call requests.put('https://<IP  address>/ippeapi/ports/0', …) could cause the engine to crash if the json body supplied to the put request was incorrect.

This is now fixed.

-

Miscellaneous minor fixes

Known Issues

Reference, if Applicable

Description

NE1-362

Some customers have observed that the upgrade appears to time out with a session timeout message and then offer to refresh or login again from scratch at the end, rather than issue an upgrade completed successfully popup.  If this occurs to you, do not be concerned, the upgrade has completed successfully.  Just refresh your browser (with the browser refresh button) and you'll be able to login without issue.

Workaround

For the smoothest upgrade experience stop all running networks - you can right mouse click on them in the active network list (on the home page) and stop them from there.  Then refresh the browser (using the browser's refresh button).

Now you can upgrade using the standard method. Use the Web GUI to go to: Management [menu]→Platform settings→Software Update and then upload the appropriate update file (.itu file).   It will take several minutes to complete.   There should now be no timeout.

NE1-333

The Application Performance Report, which is reached when 'drilling down' in the Applications report, does not currently support downloading.  This will be added in a future version

NE1-334

If a lot of data has been collected it can take a while to produce the reports.  However, there is currently no visual indication of the need to wait.  This will be added in a future version

NE1-331

If you create a Top Level 'hardware traffic generation' soft port (under the system itself, not a sub-port) it will incorrectly ask twice for the port type.  It then goes on to properly set up the soft port

NE1-330

In the 'hardware traffic generation' soft port, if you set up a generating stream without choosing the Stream Type (which visually shows UDP) it errors on Save with 'Could not create port Port: gen1, Stream: 1- Stream Type must be TCP or UDP'

Workaround: Change the Stream Type to TCP then back to UDP

NE1-310

Clicking on an NE-ONE v5 scenario which has already been converted will not convert it again, unless the converted file is first deleted. No message is output.

NE1-281

Launching an 'old' point-to-point network using the new Play feature from the File Browser may generate a 'network Error - Object right: Cannot Open a connection to Input port (1) - likely it's already in use'.  This is because these older emulations were not 'relocatable', except by the Point-to-Point designer.   To solve the issue load the network into the point-to-point designer and (re)save it - this updates it to be relocatable - then Play from the file browser will work.

NE1-277

There are some artifacting issues in the port manager (though a number have also been fixed).  A browser refresh to redraw the screen will normally remove them

NE1-278

On the Azure and AWS platforms, logging on at the console goes directly to the command prompt - this is due to the platform constructing the default username in these cases

NE1-279

On Azure and AWS, the platforms directly take control of the console usernames and Management Port addressing.  At this time therefore the console menu does not appear on console login and GUI setting of the management port addresses is not functioning

NE1-222

On Desktop systems Generation 4 - the LCD will start even without the system being powered on leading to the false impression that the system was not starting.  Please 'short' press the power button if it does not appear to be coming on

NE1-100

Due to the large variety of network (emulation) designs customers have reported that certain legacy Emulations or  files from both INE v8/V9 and NE-ONE v5.0 have not automatically converted to NE-ONE v2022 format - if this happens please email them to support so that we improve the converter. (Many improvements were already made in this version). Where appropriate we will send back a correctly converted file

NE1-99

The context sensitive entry into the User manual from particular screens relies on PDF destination markers, however not all browsers support this feature.  Chrome, Edge (Recent, non legacy) & Firefox support this feature. Safari does not support this feature

NE1-98

There is an issue with removing a function in advanced settings mode and then clicking the Update All button.  The function is not removed and its impairments persist.  A workaround for this is to set the function's impairment parameters so that it will not impair

Previous Release v2024.02.1556.2 - 9 Feb 2024

New Features

Reference, if Applicable

Description

NE1-335

Full hardware support for the new NE-ONE Gen 5 Desktop system, and in particular the new LCD display which that hardware features.

This is the new shipping version on all new NE-ONE Desktop Gen 5 systems

Otherwise, this release has identical features to v2024.01.1556.1 i.e. all the security enhancements which were applied on top of the functionality of v2023.12.1556 (see below)

Previous Release v2024.01.1556.1 - 15 Jan 2024

...