Merge branch 'develop' into coretk-enhance/scaling
This commit is contained in:
commit
83842fe9be
5 changed files with 77 additions and 21 deletions
32
CHANGELOG.md
32
CHANGELOG.md
|
@ -1,3 +1,35 @@
|
|||
## 2020-02-20 CORE 6.1.0
|
||||
* New
|
||||
* config services - these services leverage a proper template engine and have configurable parameters, given enough time may replace existing services
|
||||
* core-imn-to-xml - IMN to XML utility script
|
||||
* replaced internal code for determining ip/mac address with netaddr library
|
||||
* Enhancements
|
||||
* added distributed package for built packages
|
||||
* made use of python type hinting for functions and their return values
|
||||
* updated Quagga zebra service to remove deprecated warning
|
||||
* Removed
|
||||
* removed stale ns3 code
|
||||
* CORETK GUI
|
||||
* added logging
|
||||
* improved error dialog
|
||||
* properly use global ipv6 addresses for nodes
|
||||
* disable proxy usage by default, flag available to enable
|
||||
* gRPC API
|
||||
* add_link - now returns created interface information
|
||||
* set_node_service - can now set files and directories to properly replicate previous usage
|
||||
* get_emane_event_channel - return information related to the currently used emane event channel
|
||||
* Bugfixes
|
||||
* fixed session SDT functionality back to working order, due to python3 changes
|
||||
* avoid shutting down services for nodes that are not up
|
||||
* EMANE bypass model options will now display properly in GUIs
|
||||
* XML scenarios will now properly read in custom node icons
|
||||
* \#372 - fixed mobility waypoint comparisons
|
||||
* \#370 - fixed radvd service
|
||||
* \#368 - updated frr services to properly start staticd when needed
|
||||
* \#358 - fixed systemd service install path
|
||||
* \#350 - fixed frr babel wireless configuration
|
||||
* \#354 - updated frr to reset interfaces to properly take configurations
|
||||
|
||||
## 2020-01-01 CORE 6.0.0
|
||||
* New
|
||||
* beta release of the python based tk GUI, use **coretk-gui** to try it out, plan will be to eventually sunset the old GUI once this is good enough
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
# this defines the CORE version number, must be static for AC_INIT
|
||||
AC_INIT(core, 6.0.0)
|
||||
AC_INIT(core, 6.1.0)
|
||||
|
||||
# autoconf and automake initialization
|
||||
AC_CONFIG_SRCDIR([netns/version.h.in])
|
||||
|
|
|
@ -74,6 +74,9 @@ bootfrr()
|
|||
fi
|
||||
|
||||
bootdaemon "zebra"
|
||||
if grep -q "^ip route " $FRR_CONF; then
|
||||
bootdaemon "staticd"
|
||||
fi
|
||||
for r in rip ripng ospf6 ospf bgp babel; do
|
||||
if grep -q "^router \\<$${}{r}\\>" $FRR_CONF; then
|
||||
bootdaemon "$${}{r}d"
|
||||
|
@ -93,3 +96,10 @@ if [ "$1" != "zebra" ]; then
|
|||
fi
|
||||
confcheck
|
||||
bootfrr
|
||||
|
||||
# reset interfaces
|
||||
% for ifc, _, _ , _ in interfaces:
|
||||
ip link set dev ${ifc.name} down
|
||||
sleep 1
|
||||
ip link set dev ${ifc.name} up
|
||||
% endfor
|
||||
|
|
|
@ -291,10 +291,7 @@ class BasicRangeModel(WirelessModel):
|
|||
label="transmission delay (usec)",
|
||||
),
|
||||
Configuration(
|
||||
_id="error",
|
||||
_type=ConfigDataTypes.STRING,
|
||||
default="0",
|
||||
label="error rate (%)",
|
||||
_id="error", _type=ConfigDataTypes.STRING, default="0", label="loss (%)"
|
||||
),
|
||||
]
|
||||
|
||||
|
@ -573,10 +570,10 @@ class WayPoint:
|
|||
return not self == other
|
||||
|
||||
def __lt__(self, other: "WayPoint") -> bool:
|
||||
result = self.time < other.time
|
||||
if result:
|
||||
result = self.nodenum < other.nodenum
|
||||
return result
|
||||
if self.time == other.time:
|
||||
return self.nodenum < other.nodenum
|
||||
else:
|
||||
return self.time < other.time
|
||||
|
||||
|
||||
class WayPointMobility(WirelessModel):
|
||||
|
|
17
daemon/tests/test_mobility.py
Normal file
17
daemon/tests/test_mobility.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
import pytest
|
||||
|
||||
from core.location.mobility import WayPoint
|
||||
|
||||
|
||||
class TestMobility:
|
||||
@pytest.mark.parametrize(
|
||||
"wp1, wp2, expected",
|
||||
[
|
||||
(WayPoint(10.0, 1, [0, 0], 1.0), WayPoint(1.0, 2, [0, 0], 1.0), False),
|
||||
(WayPoint(1.0, 1, [0, 0], 1.0), WayPoint(10.0, 2, [0, 0], 1.0), True),
|
||||
(WayPoint(1.0, 1, [0, 0], 1.0), WayPoint(1.0, 2, [0, 0], 1.0), True),
|
||||
(WayPoint(1.0, 2, [0, 0], 1.0), WayPoint(1.0, 1, [0, 0], 1.0), False),
|
||||
],
|
||||
)
|
||||
def test_waypoint_lessthan(self, wp1, wp2, expected):
|
||||
assert (wp1 < wp2) == expected
|
Loading…
Reference in a new issue