Commit Graph
3172 Commits
Author SHA1 Message Date
Tobias WaldekranzandGitHub 5707711d84 Merge pull request #926 from kernelkit/test-doc
Create test/README.md
2025-02-22 12:16:33 +01:00
Tobias WaldekranzandGitHub 5b3eb23aeb Merge branch 'main' into test-doc 2025-02-22 12:15:29 +01:00
Joachim WibergandGitHub 51987948ad Merge pull request #946 from kernelkit/admin-vtysh-privs
confd: ensure admin users have full access to vtysh

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-22 10:15:22 +01:00
Joachim Wiberg e70559a68d test: use doc/testing.md as README for directory
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-22 10:04:39 +01:00
Joachim Wiberg 83797ca19c confd: ensure admin users have full access to vtysh
Future Infix defconfigs for smaller system may exclude Frr and set all
routes directly in the kernel.  So failing to add a user to the frrvty
group should not cause an error, hence the new group_exists().

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-22 09:24:44 +01:00
Joachim WibergandGitHub d82b3e51ea Merge pull request #953 from kernelkit/update-buildroot
Update buildroot to 2024.02.11

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-22 01:13:46 +01:00
Mattias Walström e03bd37660 Update buildroot to 2024.02.11
This is an important security release, fixing bugs
in OpenSSH, fixes: CVE-2025-26465 (ssh) , CVE-2025-26466 (sshd)
2025-02-21 14:54:35 +01:00
Tobias WaldekranzandGitHub ee26cec88a Merge pull request #952 from kernelkit/imx8mp-evk
i.MX8MP EVK Support
2025-02-20 21:52:09 +01:00
Tobias Waldekranz 88763034ed board: imx8mp-evk: Add 2025-02-20 14:39:46 +01:00
Tobias Waldekranz dad1c024aa confd: Support interfaces that detach from their PHYs when down
Some netdev drivers, e.g. the FEC found on many i.MX SoCs from NXP,
will detach from their PHYs when configured down.

This means that when confd tries to configure L1 settings for the link
before bringing it up, ethtool fails - since there is no PHY to talk
to.

For interfaces that behave this way, delay the configuration until
after NETDAG_INIT, when the interface is brought up. This is not
optimal, since we are generating needless noise for the link partner,
which is why we only fall back to it as a last resort.

Fix #951
2025-02-20 14:39:05 +01:00
Tobias Waldekranz f92d3846db confd: Let products declare quirks of particular interfaces
Ideally, all drivers should behave the same. Alas, that is not the
world we live in. For quirks that we can not reliably probe for in any
other way, let products supply a JSON file that declares them.
2025-02-20 14:35:50 +01:00
Tobias WaldekranzandGitHub ffab761274 Merge pull request #948 from kernelkit/update-kernel
Update kernel to 6.12.14 (LTS)
2025-02-17 20:55:46 +01:00
Mattias Walström b4c648229a Update kernel to 6.12.14 (LTS) 2025-02-17 20:08:26 +01:00
Joachim WibergandGitHub 1ca7acda14 Merge pull request #943 from kernelkit/update-doc
Update Processes Documentation

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-17 18:30:25 +01:00
Ahmed Karic 8f30f88967 doc: Update developers-guide
- communicate regarding YANG
- add StatD with focus on Yanger
- add test dev procedures

[ci skip]

Resolves #934
2025-02-17 14:31:30 +01:00
Ahmed KaricandGitHub 8eaaaa9d38 Merge pull request #933 from kernelkit/doc-update-yang2ethtool-mapping
Update documentation for YANG to Ethtool counter mappings
2025-02-17 12:47:45 +01:00
Mattias WalströmandGitHub 4e0ad1df1b Merge pull request #944 from kernelkit/coverity-fixes
Coverity fixes
2025-02-16 12:36:56 +01:00
Joachim WibergandGitHub dc3b78e678 Merge pull request #945 from kernelkit/repeat-in-9pm 2025-02-16 11:33:46 +01:00
Tobias Waldekranz 4d7dde5366 test: bridge_stp_basic: Skip on multi-chip mv88e6xxx systems
Until we fix kernelkit/linux#2, tag the affected nodes as providing
"broken-stp", and skip this test on those rigs.
2025-02-16 10:55:03 +01:00
Tobias Waldekranz 3c0679991d confd: bridge: Refactor init_snippets() to avoid unreachable code
Fix coverity CID 464653
2025-02-16 10:55:03 +01:00
Tobias Waldekranz fe741a92f3 confd: Explicitly return OK when registration is successful
Fix coverity CID 464654
2025-02-16 10:55:03 +01:00
Tobias Waldekranz f6879e24cc bin: Fix unchecked return codes
Fix coverity CID 425560
2025-02-16 10:55:03 +01:00
Tobias Waldekranz 7e252ba941 confd: Fix unchecked return codes
Fix coverity CIDS:
- 464651
- 464652
- 464655
- 507413
- 507414
2025-02-16 10:55:03 +01:00
Tobias Waldekranz 46d5e750d7 confd: Simplify GRE and VXLAN iface setup
CID 507415 from coverity was the origin for this change. As it turns
out, the unreachable MAC address generation for VXLANs was hidden by
the generic setup (netdag_gen_link_addr()) saving the day. That is
likely something we want to phase out though, so the VXLAN code should
stand on its own.

Align the GRE code while we're here, because why not? :)
2025-02-16 10:51:27 +01:00
Joachim Wiberg 5988249f84 test: 9pm: bump for new --repeat option
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-16 10:29:44 +01:00
Joachim WibergandGitHub 7aee2600ba Merge pull request #942 from kernelkit/fix
Bump Finit to fix flaky DHCP server subnets test

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-15 08:14:49 +01:00
Joachim Wiberg 6f99a9c2dc package/finit: bump to v4.9
Primarily fixes issue with DHCP server multiple subnets test, which
triggers an ordering issue between reconfiguration of dnsmasq and the
`initctl reload` command.

For the full ChangeLog, please see:

   https://github.com/troglobit/finit/releases/tag/4.9

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-15 07:21:01 +01:00
Tobias WaldekranzandGitHub eee1ce32fa Merge pull request #940 from kernelkit/remove-etherlike
Remove etherlike
2025-02-14 21:28:46 +01:00
Joachim Wiberg d9f2f2c8f9 confd: refactor core_post_hook()
- Reduce complexity
 - Change type, simplify
 - Allow errors from initctl

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-14 13:50:47 +01:00
Mattias Walström 31d0f79a10 Migrate configuration for etherlike
Migrate infix-if-type:etherlike in configuration to infix-if-type:ethernet
2025-02-14 09:52:37 +01:00
Mattias Walström b290e44318 Remove interface type Etherlike
Instead check if the interface support autonegotion
before setting it to an interface.

This fix #877 and fix #584
2025-02-13 20:27:01 +01:00
Mattias Walström 2d806de2cd yanger: Refactor how ethtool is read from interfaces
Upgrade ethtool to get json support for main command:

ethtool --json eth1
2025-02-13 20:27:00 +01:00
Tobias WaldekranzandGitHub c5db34b491 Merge pull request #873 from kernelkit/lag
Add support for static & lacp link aggragetes
2025-02-13 09:23:44 +01:00
Tobias Waldekranz 3d816d2525 linux: Import mv88e6xxx standalone LAG fix 2025-02-12 23:22:11 +01:00
Tobias Waldekranz fb394db981 test: lag_*: Ensure that links making up a LAG are compatible
Do not allow the topology matcher to setup a LAG where one link is
running at 10G while the other one runs at 1G, since the bond will
never use the 1G port as long as there the 10G link is up.
2025-02-12 23:22:10 +01:00
Tobias Waldekranz da39855cec test: infamy: Allow tests to refine the topology matching process
To run LAG tests on hardware, we have to make sure that the chosen
links are running at the same speed.  We do not want to require a
specific link speed from the logical topology, as the real requirement
is merely that the two (or however many) links are of the _same_
speed, not any _particular_ speed.

Rather than having to complicate the topology matcher, let it take
care of the common pattern of matching requirements to provided
features, then let tests pass custom node/edge matchers for the
complicated cases.
2025-02-12 23:22:09 +01:00
Joachim WibergandTobias Waldekranz a6b79857db doc: update ChangeLog, static+lacp link aggregation
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz f1271f28b9 doc: new section, Link Aggregation (updated images)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz f62900699a doc: add logo and update ingress
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz cf16efe499 test: new test, verify degraded link aggregate members in LACP mode
Verify connectivity from host to the second DUT via the first, over a
link aggregate.  Both aggregate member links are connected to a TPMR
link breaker to hide link down from the DUTs.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz 4260d24143 test: new test, verify basic lag setup
Verify connectivity from host to the second DUT via the first, over a
link aggregate.  The lag starts in static mode and then changes to an
LACP aggregate.  This verifies not just basic aggregate functionality,
but also changing mode, which is quite tricky to get right.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz 3ef1da1096 test: minor cleanup using new APIs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz a90a39e8d8 test: infamy: allow easy debugging of differences in config data
Unclear if the libyang merge operation actually does it's job of merging
all the data properly in the restconf backend.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz dc5c7732d7 test: infamy: return None if port doesn't exist
Follow-up to e4535aa, allowing tests to be even simpler.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz 5bf9200880 test: infamy: drop debug message breaking tap output
When first starting up the YANG models are downloaded.  Initially all
were printed on the test console, so this was later changed to become
a sort of progress output.  However, that broke tap output, causing a
missing leading '#' for the final "YANG models downloaded." message.

Thist patch drops the output entirely from the netconf transport, it
was never added to the restconf transport.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz f9b155b49f test: infamy: use decorator to reduce boilerplate for test args
Example use:

    @infamy.test_argument("--mode", help="one of 'static' or 'lacp'")
    class TestArgs(infamy.ArgumentParser):
        pass

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz 9782ac9afa test: update virt topologies, add lag
This commit adds two SVGs for previewing the virtual test topologies.

quad: fix a lot of copy-paste mistakes, rename nodes and ports to their
      correct names.  Replace shell comments with C++ style comments,
      not all tools, e.g., dotty, support shell comments.  The neato
      absolute positioning has also been fixed to make it possible to
      see all the edges, to facilitate this the used ports have been
      swapped around a abit.  Colors are used according to the schema
      agreed on for tests.  Finally, a second link for lag tests have
      been added between dut2 and dut3.

dual: coloring similar to quad, update to new edge attribute matcher.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz 773683bfd5 test: spec: catch and format dot file errors
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz 3dbb1759eb klish-plugin-infix: need CAP_NET_ADMIN for some data
When reading lag status, like LACP actor system prio, port key,
etc., we need CAP_NET_ADMIN.  See net/bonding/bond_netlink.c

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00
Joachim WibergandTobias Waldekranz d7895d5c9c confd: handle dup calls to dagger_add_dep()
Some callbacks may run twice, e.g., lag_gen_ports().  Check if the link
already exists, and is the same, then we can exit silently.  However, in
case the link exists and does *not* point to the same target, we log an
error with current target for the post mortem.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-02-12 23:21:08 +01:00