We're currently using just a subset of UPnP test cases as being
available in CDRouter via PCF-720.
We need to increase the QA of UPnP, so lets add complete upnp and
upnp-v6 modules, which are known to be working as of today. From the
list of available 111 tests in CDRouter version 15.8.1 in both upnp-v6.tcl
(60) and upnp.tcl(51) modules we're removing following 30 tests currently known
to be not passing:
cdrouter_upnp_203, cdrouter_upnp_204, cdrouter_upnp_220,
cdrouter_upnp_igd2_203, cdrouter_upnp_igd2_204, cdrouter_upnp_igd2_220,
ipv6_upnp_35, ipv6_upnp_36, ipv6_upnp_40, ipv6_upnp_41, ipv6_upnp_45,
ipv6_upnp_50, ipv6_upnp_100, ipv6_upnp_203, ipv6_upnp_204,
ipv6_upnp_220, ipv6_upnp_igd2_20, ipv6_upnp_igd2_25, ipv6_upnp_igd2_35,
ipv6_upnp_igd2_36, ipv6_upnp_igd2_40, ipv6_upnp_igd2_41,
ipv6_upnp_igd2_45, ipv6_upnp_igd2_50, ipv6_upnp_igd2_200, ipv6_upnp_igd2_203,
ipv6_upnp_igd2_204, ipv6_upnp_igd2_220, ipv6_upnp_igd2_307
So we can regression test UPnP stack in current state and thus improve the QA.
Cap the CI job runtime to 60 minutes as currently it seems, that it
takes around 53 minutes to complete.
References: PCF-720, PPW-336, FEAT-85, FEAT-244
Link: https://support.qacafe.com/cdrouter/knowledge-base/upnp-testing-guide
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Co-authored-by: Nikolai Merinov <n.merinov@inango-systems.com>
Changes in FEAT-97 are affecting the sfp datamodel.
It is now seen that the test to check detection of the sfp stick is failing.
The test will need adaptation later to make it aligned with the new datamodel.
Let's disable the test for now so that we can continue with a green CI.
Fixing this test is tracked in PPW-1015
References: PPW-1015, FEAT-97, PCF-1924
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Last days we introduced new features and tests in the CI.
Because of that we are hitting now and then the maximum excecution time.
So let's increase the timeout from 40 to 44 minutes.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
* Add support of DHCP provisioning via DHCPv4 option 125 and DHCPv6 option 17.
* Add disabling of DHCP provisioning when the ACS URL is changed by the user to non-empty value.
* Add enabling of DHCP provisioning when the ACS URL is changed by the user to empty value.
* Add support of restoring the DHCP-provisioned configuration if a CWMP session is not established within DHCPReDiscoveryInterval.
* Add support of setting preffered IP version at ManagementServer.InternalSettings.ACSAddrFamily and ManagementServer.InternalSettings.PreferredIPVersion depending on the DHCP version from which the configuration was obtained.
References: PCF-1925, FEAT-134
Signed-off-by: Dmytro Titov <d.titov@inango-systems.com>
Add support configuring options 124 and 125 in tr181-dhcpv4client
Add support configuring options 16 and 17 in tr181-dhcpv6client
References: PCF-1912, FEAT-134
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
Integrates following changes:
- ci: enable crosscompilations and unit tests (51cb5e94)
- PROVISORY: ci: disable unit tests (d69013b6)
- add API to monitor search path subscriptions on the client side (afd20b10)
- Issue: PPW-746 [Amxs] Add API to monitor search path subscriptions on the client side (c3ae66a2)
- Issue: PPW-748 Re-add verify flag for backwards compatibility (acb14818)
- amxp-subproc: Fail in amxp_subproc_vstart may lead to blocked signals (PPW-749) (dc58d397)
- amxp_subproc: [overlayfs removal] capabilities dropped on subprocess execution (PPW-750) (b2477d5f)
- amxp-promise: Add a promise API: synchronizing program execution in some concurrent asynchronous I/O (PPW-783) (6af6de8c)
- unit-test: Add a promise API: synchronizing program execution in some concurrent asynchronous I/O (PPW-783) (bcc1c838)
- libamxp: doc - Implement abstraction layer for asynchronous and synchronous operations - promises (9ac30a27)
- chained-promise: When a chained promise is canceled the wrong private data is passed (4522f904)
- chained-promise: When a chained promise is canceled the cancel order is incorrect. (a66e6eb4)
References: PPW-746
Signed-off-by: prplbot <bot@prplfoundation.org>
Integrates following changes:
- ci: enable unit-tests (f3bc256e)
- makefile: Remove unit-test specific files from the coverage report (6fd973f3)
- odl: add RoutingTableID parameter (dc96e80a)
- route,netlink: use libnl as backend to set routes (3b485bc5)
- test: add unit tests for libnl backend (79ce2fab)
- baf,ci: add dependencies on libnl, libnl-route and libipat (68d434ee)
- ipvforwarding: pass RoutingTableID to backend (da66a7e7)
- routing,netdev: add route from NetDev to correct table (5028a1b3)
- odl,baf,makefile: add Routing.Policy data model (105c206f)
- routing policy: add action/event handlers for Routing.Policy (2d31543f)
- routing policy: add backend functions to handle routing policies (06991d02)
- router: populate router instance with existing IPvXForwardings (47ce724b)
- routing: create mapping between table name and table id (4a8510b8)
- unit test: add tests for routing policy back end functionality (441c89f2)
- unit test: add test for routing policy (b6dec8f6)
- baf,makefile,odl: move routing-manager-defaults.odl.uc to defaults.d/ (8ee9404f)
- ci: baf: update autogenerated files (f6acce66)
- ci: enable crosscompilations and unit tests (52f90377)
- routing policy: add routing policy rules to NetDev (b6aed0b9)
- unit test: add tests for routing policy rules (fb2b4809)
- fix unit test failure due to unsafe memcpy usage (5c36c6be)
References: PCF-1910
Signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>
Add package tr069-connectionrequest which implements
UPnP Control Point functionality to apply portmappings/pinholes
on the gateway for external ACS access.
References: PCF-1867, FEAT-112
Signed-off-by: Roman Yaroshenko <r.yaroshenko@inango-systems.com>
* Add support of filling Device.GatewayInfo. object on bus/usp/acs
* Add support sending `Device.CWMPGatewaDiscovered!` event on USP
* Add support sending VALUE CHANGE notification on ACS
References: PCF-1981, FEAT-112
Signed-off-by: Artem Trokhymchuk <a.trokhymchuk@inango-systems.com>
Add runtime speedtest for tr471-iplayercapacity:
- Start local udpst server
- Perform tr-471 speedtest functionality:
+ Initiate diagnostic test and verify DiagnosticsState transitions
+ Test error handling and DiagnosticsState error enumeration
+ Test DiagnosticsState=Canceled functionality and restart
+ Test writable parameter modification during diagnostic execution
+ Test DiagnosticsState=Requested during execution (terminate and restart)
+ Test USP command with optional test parameters
+ Test CWMP → USP command transition (nearest command executes)
+ Test USP → CWMP command transition (nearest command executes)
- Add missing TR-471 IPLayerCapacity in obuspa data model list
- Add missing TR-471 IPLayerCapacity in ubus datamodel list
- Add missing CONFIG_PACKAGE_obudpst=y to wnc-freedom build config
References: PCF-2055
Signed-off-by: Lou Nguyen (Gemtek) <lou_nguyen@vn.gemteks.com>
The USB tests are not yet stable enough. So let's remove them for now.
Tracked in PPW-1008
This reverts commit 6c72ca35be.
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Add initial test for USB filtering
This test checks:
- Whether the SanDisk USB flash disk is present and authorized,
- Authorization and unauthorization works by checking the authorized file and DM
- Simulates unplugging and plugging back in the device
to see if new devices are authorized correctly
References: PCF-1247
Signed-off-by: Sam Maes <sam.maes_ext@softathome.com>
(cherry picked from commit 2e25c9cb1157b27f34106bea38856ae9a92123d1)
Refactor LCM tests to eliminate reliance on hardcoded
index values when querying the datamodel. Previously,
tests depended on specific indexes, which could cause
failures if indexes did not match or were altered by
other tests.
This update replaces ubus commands with generic ba-cli
commands that use filters to query instances, making
tests more robust and less prone to breakage due to
index mismatches.
References: PCF-2025
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
Modify existing CRAM test for tr181-upnp that sets and gets
`UPnP.X_PRPLWARE-COM_IGDConfig.WANAccessProvider` parameter
References: PCF-1998
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
In task PCF-1998 a new filed 'WANAccessProvider' was added to the
tr181-upnp model, so the current test fails due to an unexpected filed
in the obuspa model
Add new expected parameter 'Device.UPnP.X_PRPLWARE-COM_IGDConfig.WANAccessProvider'
for tr181-upnp plugin
References: PCF-1998
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
References: PPW-611
Integrates following changes:
- set protected access to get template names for GPN (e306d202)
Signed-off-by: default avatarprplbot <bot@prplfoundation.org>
Problem:
opennds service not starting when wan goes down
Cause:
openwrt24 has updated microhttpd version, version check in opennds 10.2.0
was wrongly implemented results in exiting opennds.
Solution:
Already a fix is available in opennds latest version (commit id 38c18def)
which solves the version check issue. Ported the fix to opennds version 10.2.0.
Build and verified opennds to be working as expected.
References: PCF-2069
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Problem:
Captive portal UI was not located at the correct web server
root dir.
Cause:
Due to wrong root directory opennds was not able to fetch captive
portal UI.
Solution:
After updating the root directory for captive portal UI, opennds is now
able to get captive portal UI as expected.
Build and verified opennds to be working.
References: PCF-2069
Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Integrates:
- libamxo: Update documentation, add instruction how to use FD type with
RPC and event
Implements: PCF-2034
Signed-off-by: Anton Chigrin <a.chigrin@inango-systems.com>
Implementation of CRAM tests for transfer of file descriptors in output args
in synchronous, asynchronous RPC and event notifications.
Implements: PCF-2034
Signed-off-by: Vitalii Popov <v.popov@inango-systems.com>
Implementation for transfer of file descriptors in output args
in synchronous, asynchronous RPC and event notifications.
Implements: PCF-2034
Signed-off-by: Vitalii Popov <v.popov@inango-systems.com>
Integrates following changes:
- ci: enable crosscompilations and unit tests (40e7392e)
- tr181-dhcpv4: dhcpv4 server pool Order modification is not correct (4b66ce89)
References: PPW-671
Signed-off-by: prplbot <bot@prplfoundation.org>
Introduce a generic network management component to support dynamic instantiation
of Linux Netdev interfaces (e.g. tun, tap, USB, GRE, WireGuard) under Device.Bridging.Bridge
and Device.IP. This enables prplOS to manage interfaces not previously modelled.
Automatically reflects netdev state (e.g. up, lower_up) in the data model
Provides stop-gap until dedicated managers or TR-181 extensions are available
Proposes TR-181 extension for generic network interface, targeting BBF adoption
This component bridges the gap between Linux network reality and TR-181 modelling,
enhancing flexibility and provisioning capabilities in prplOS.
Implements: PCF-2007, FEAT-93
Signed-off-by: Ashik Ahmed A <ashik-ahmed.a@capgemini.com>
Add two profiles to build Extender firmware:
* extender_minimal.yml: minimal version of the Extender firmware;
* extender_full.yml: full version of the Extender firmware.
The same as minimal + support LCM and TR-069/369 management.
Add new CI goals for these new profiles.
References: PCF-1849, FEAT-84
Signed-off-by: Roman Shcherbakov <r.shcherbakov@inango-systems.com>
Based on new include section spliting the prpl profile for a few new one:
* prpl_core.yml: minimum packages and configs to get working prpl firmware;
* lcm.yml: all packages and configs to support lcm;
* mgmt.yml: all packages and configs to support management via TR-069/369.
Based on these files transform the original prpl.yml profile.
References: PCF-1849, FEAT-84
Signed-off-by: Roman Shcherbakov <r.shcherbakov@inango-systems.com>
Add processing two new sections in gen_config.py:
* include: add the possibility to include one profile into another;
* packages_remove: add separate section to remove some packages.
References: PCF-1849, FEAT-84
Signed-off-by: Roman Shcherbakov <r.shcherbakov@inango-systems.com>