Commit Graph
1649 Commits
Author SHA1 Message Date
Joachim WibergandMattias Walström 12eae1ec2b confd: initial mdb support, per bridge and per VLAN
Note, no VLAN id, or other VLAN specific information is contained in the
MDB entries, only forwarding information and per-port state.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-07 12:45:55 +01:00
Joachim WibergandMattias Walström ec3b08524c confd: add support for bridge port flooding control
This patch adds BUM flooding control per port.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-07 12:45:55 +01:00
Joachim WibergandMattias Walström 6d65eff33d confd: improve debug messages, include ifname everywhere
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-07 12:45:55 +01:00
Joachim WibergandMattias Walström afdc6fe582 confd: disable bridge's dumpster diving when vlan filtering
With VLAN filtering on a bridge we cannot use the mcast_query_use_ifaddr
mechanism.  This because even if the bridge may have an address it is
likely not on the same subnet as that of the VLAN, and the multicast
code in the kernel does not look at VLAN interfaecs on top of bridge
for a relevant adddress.

For these cases we have to use querierd, or a multicast router.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-07 12:45:55 +01:00
Joachim WibergandMattias Walström 1782b12514 confd: initial multicast filtering support for bridge model
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-07 12:45:55 +01:00
Mattias WalströmandJoachim Wiberg c5d53d10a4 yang: Bump infix-routing revision 2024-03-06 18:39:27 +01:00
Mattias WalströmandJoachim Wiberg 28846dd332 Fix inconsistent naming in infix-routing model
in container: default-route-advertise
Obsolete leaf: enable
Add new leaf: enabled

enable is preferred if exist, else it use enabled.

Also update klish-plugin-sysrepo to not show the obsoleted node
in autocompletion.

This fixes #331
2024-03-06 18:39:27 +01:00
Joachim Wiberg e8ff54cb67 Revert "confd: check return value on failure to read pvid from a bridge-port"
This reverts commit f5e37bba58 because it
causes a regression in setting up VLAN filtering bridges.  The bridge
itself, e.g., br0 currently does not have a bridge-port context at the
same time as it being bridge.  The model does not account for that and
thus srx_get_int() for the br0 PVID will always fail.

Reverting this commit allows br0 to be tagged member in all VLANs by
default, for now.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-06 10:51:19 +01:00
Joachim Wiberg 3151db6f61 Open v24.03.0 release cycle
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-06 09:27:24 +01:00
Joachim Wiberg 3ab33cebe4 confd: fix bogus warning about not updating /etc/motd properly
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-06 09:12:36 +01:00
Joachim Wiberg 6ce44b0788 libsrx: reduce noise in syslog
The srx_*() family of APIs are for some callbacks in confd used to check
if a setting exists or not.  The root helper function srx_vaget() always
logged an error if sr_get_items() failed.  This has now been fixed and
only the srx_enabled() function still triggers this, because it has no
way of determining an error condition -- otoh it should never fail.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-06 08:54:59 +01:00
Joachim Wiberg c4f3cbf5e1 libsrx: minor, rename function argument, result -> value
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-06 08:53:50 +01:00
Joachim Wiberg f5e37bba58 confd: check return value on failure to read pvid from a bridge-port
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-06 08:49:23 +01:00
Mattias WalströmandJoachim Wiberg c3e707788d Fix VLAN infer when using interface name IFNAME.VID for naming
Then set all VLAN settings properly as well

This fixes #329
2024-03-06 06:59:46 +01:00
Joachim Wiberg eec5546100 board/common: add missing newline at end of /etc/motd
With the changes in 9847a8f we can keep the /etc/motd file with a proper
newline at EOF so that also Classic builds make sense.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
v24.02.0
2024-03-01 20:19:17 +01:00
Joachim Wiberg 4451e70ba8 .github: adjust release tag variables
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
v24.02.0-rc2
2024-03-01 18:38:22 +01:00
Joachim Wiberg 1f29bfa5a6 .github: set 'latest' flag for non-pre-release builds
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
v24.02.0-rc1
2024-03-01 16:03:26 +01:00
Joachim Wiberg aea6ef3961 doc: update release notes for v24.02
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 14:17:20 +01:00
Joachim Wiberg 1e4a88e0b9 doc: new text-editor topic for cli
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 14:14:33 +01:00
Joachim Wiberg ba25914cbe confd: add support for changing text-editor backend
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 14:13:43 +01:00
Joachim Wiberg 84391c18a4 board/common: introduce Debian-like alternatives system
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 14:13:06 +01:00
Joachim Wiberg c73b3b59c2 doc: update CLI introduction and tutorial with new commands
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 11:30:51 +01:00
Joachim Wiberg b3e6a38d76 package/klish: bump for motd-like Banner="" extension for klish.conf
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 10:04:19 +01:00
Joachim Wiberg 9847a8fdd1 confd: migrate infix-system:motd -> infix-system:motd-banner
Inspired by openconfig-system[1], except the infix-system type is binary
to allow encoding an entire file, with optional control characters.

The openconfig-system model also carries login-banner, which is displayed
before login.  This could be added later to infix-system to let the user
set an OpenSSH login Banner.

[1]:  https://openconfig.net/projects/models/schemadocs/yangdoc/openconfig-system.html

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 10:04:19 +01:00
Joachim Wiberg 87bffb3816 confd: import base64 encode/decode functions, 3-clause BSD licensed
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-01 10:04:19 +01:00
jovatnandGitHub 8b44a42424 Update ChangeLog.md
Remote trailing dot (.)

[skip ci]
2024-02-29 14:33:13 +01:00
jovatnandGitHub 2e408d2ee1 Update ChangeLog.md
Include IETF Hardware data in news section.

[skip ci]
2024-02-29 14:31:03 +01:00
Joachim Wiberg 300734872c doc: minor fixups and clarfiy new port counters as augments
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 14:19:41 +01:00
jovatnandGitHub 6b91a6765c Update ChangeLog.md
Proposed changes to description of ietf-hardware and infix-hardware models.

[skip ci]
2024-02-29 14:08:37 +01:00
Joachim Wiberg 9ab8bd5bc9 doc: restore lost diff link
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 12:44:33 +01:00
Joachim Wiberg 955de32ea8 doc: prepare v24.02 release notes
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 12:39:42 +01:00
Joachim Wiberg b449b7ea82 Revert ".github: temporarily disable Infix Classic builds"
This reverts commit 2bcb02d3ef and thus
reeneables classic builds again.  Since we build on /mnt on the runner
there should be enough room also for them.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 12:16:14 +01:00
Mattias Walström f0c23ca048 Update revision for infix-if-type 2024-02-29 10:22:32 +01:00
Mattias WalströmandJoachim Wiberg c6626b6520 test: Increase timeouts for OSPF tests
This since when running the test in the cloud with github
supplied runner, everthing sometimes gets really slow.
2024-02-29 09:46:08 +01:00
Joachim Wiberg 9c203f614b confd: log error when failing to record changes to NTP client
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 09:14:53 +01:00
Joachim Wiberg 1df1df7096 .github: new package requirement for coverity runs
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 08:54:58 +01:00
Joachim Wiberg 92744b7318 statd: fix string length comparison
Calling strlen() returns a size that's one byte less than what's needed
to store the string, so when comparing with sizeof(), which returns the
number of available bytes, we must compare >= and not just >.

Found by GCC using 'make check'.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 08:45:23 +01:00
Joachim Wiberg be7b434d74 Update list of 'make check' packages
- new: execd, keyack
 - statd has been converted to autotools

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 08:44:08 +01:00
Joachim Wiberg a47e8b6d4a statd: fix library ordering for linker
When building for cppcheck/coverity we may get a stupid linker that can
wind up not finding, e.g., fexist() in libite (-lite) if it's not added
last in the list of libraries.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 08:42:07 +01:00
Joachim Wiberg b004f081a1 .github: check disk usage in $HOME
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 07:55:31 +01:00
Joachim Wiberg 06365fa3da .github: sync release job with latest changes
- Cleanup any docker images to free up space
 - Build on /mnt
 - Update artifacts: pattern after API changes
 - Add .sha256 checksums to each release tarball

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 07:47:54 +01:00
Joachim Wiberg 75b47b8a7a .github: adapt to new artifact action behavior
No more artifact/ subdirectory with upload/download-artifact v4,
artifacts are already in the working directory.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-29 07:17:24 +01:00
Joachim Wiberg aa039449da .github: fake it, let qemu target build in $HOME
Apparently, running "make test-qeneth" from an output directory that's
not in $HOME does not work in Azure.  This patch adds an exception for
the x86_64-netconf target that ensures regression tests run just as if
nothing had changed.

Other platform//variants will be built on /mnt for the time being since
we're running out of space in the runner:

df -h =================================================================
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        73G   58G   16G  80% /
tmpfs           7.9G  172K  7.9G   1% /dev/shm
tmpfs           3.2G  1.1M  3.2G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda15      105M  6.1M   99M   6% /boot/efi
/dev/sdb1        74G  4.1G   66G   6% /mnt
tmpfs           1.6G   12K  1.6G   1% /run/user/1001
=======================================================================

This is the output of the new "Manny" investigator, it revealed that we
only have 16 GiB of space, after checkout and cache donwload, to build
and upload *all* platforms/variants.  Hence the cheat with /mnt, which
we honestly don't know will remain mounted on these runners.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 20:57:14 +01:00
Joachim Wiberg cd7412aea4 .github: use correct build directory variable
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:45:56 +01:00
Joachim Wiberg 2564d2597b .github: sudo make me a build directory
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:42:33 +01:00
Joachim Wiberg cb1054e4a3 .github: use /mnt as output directory for builds
- Clean up any lingering docker images
 - Redirect output to /mnt/$arch-$flavor

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:39:48 +01:00
Joachim Wiberg 24549d149c .github: split into multiple selectable jobs
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:33:22 +01:00
Mattias WalströmandJoachim Wiberg 2bf6ec7d1a test: ipv4_autoconf: Fix racecondition on slow test-PCs
Refactor test, remove fragile solution with tcpdump started AFTER
the linklocal was activated, this opened for a race condition since
it was listening for a message sent once.

Now wait for the linklocal address instead.
2024-02-28 18:25:43 +01:00
Mattias WalströmandJoachim Wiberg ac97ce01a5 test: iface: Fix bug in function address_exist()
did not allow any other protocol to checked except DHCP
2024-02-28 18:25:43 +01:00
Joachim Wiberg a730cc0439 .github: peek & poke
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:24:35 +01:00