Commit Graph
1714 Commits
Author SHA1 Message Date
Joachim WibergandTobias Waldekranz 3ebbd0bf4f confd: handle small changes to bridge port properties
This patch adds support for small incremental changes to bridge ports.
Changes where the libyang diff does not include a bridge reference so
that it will have to be synthesized from the current configuration.

For example, forgetting to set a port's PVID in a VLAN filtering bridge
setup, changing a bridge port's multicast flooding properties, or any
other per-bridge-port setting after the fact.

Fixes #349.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-22 13:15:35 +01:00
Joachim WibergandTobias Waldekranz ce2e15e4d2 libsrx: new function, traverse the void to find an interface
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-22 13:15:35 +01:00
Tobias WaldekranzandJoachim Wiberg 29158ed2ef doc/container: Fix dead links in table of contents
[skip ci]
2024-03-22 08:20:12 +01:00
Tobias WaldekranzandJoachim Wiberg 25d7b84bde doc/qos: Start to document default QoS policy of mv88e6xxx
[skip ci]
2024-03-22 08:20:12 +01:00
Joachim Wiberg 3867db633b doc: new document, Scripting Infix
Some common remote commands that do not use XML or NETCONF.

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-22 05:34:36 +01:00
Joachim Wiberg d9cf3adaff package/klish-plugin-infix: disable 'shell' access from CLI
After the pivot from having the CLI as default login to Bash (for remote
scripting and production purposes) there is no need for "user friendly"
access to a UNIX shell from the CLI.  This provides the possiblity of
limiting users to only the CLI, e.g. a user with only guest or operator
privileges.

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-22 05:34:36 +01:00
Joachim Wiberg 3f06e107f6 doc: initial System Configuration user guide
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-22 05:34:36 +01:00
Joachim Wiberg 2b81f34fcd doc: cleanup and harmoize yang model linking
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-22 05:34:36 +01:00
Joachim Wiberg 2eb487ebcd doc: refactor, let first page be table of contents
- Drop doc/README.md symlink to variant.md
 - Make doc/README.md the table of contents
 - Clean up variant.md, OSPF and containers now fully supported

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-22 05:34:36 +01:00
Mattias WalströmandJoachim Wiberg b2fef1585f Change to self-hosted runner 2024-03-21 09:17:07 +01:00
Tobias Waldekranz 69c2ffcc5f doc: Note kernel upgrade in ChangeLog
[skip ci]
2024-03-20 14:41:25 +01:00
Tobias Waldekranz 2bd3b508ee kernel: Bump to 6.6.22 + kkit-linux-6.6.y 2024-03-20 14:41:25 +01:00
Mattias Walström 3a740ff049 Build python cryptography
Required to generate certificate with specific start/end date

Not possible to do with openssl (mentioned as bug in manpage)
2024-03-20 14:19:52 +01:00
Mattias Walström a0f09a1c06 Add script that generates a certificate with unlimited expiredate
Primary use is to generate default HTTPS certificate.

Sample usage:
/bin/gencert --country SE --state Vastmanland --city Vasteras --organisation ACME --organisation-unit Second  --common-name switch.local --out-certificate /tmp/out.cert --out-key /tmp/out.key
2024-03-20 14:19:52 +01:00
jovatnandGitHub 4b7c97083f Update networking.md
Updating VLAN interface doc inline with current implementation

Mathias has fixed the syntactic sugar when creating eth0.20 interfaces, thus the associated documentation example is updated accordingly.
2024-03-20 13:57:11 +01:00
Tobias Waldekranz 873de8d0b7 board/netconf: Properly format disks of non-MiB-aliged sizes
awk(1) will dutifully represented the size as a float, but test(1) was
not at all amused.
2024-03-19 15:07:44 +01:00
Tobias WaldekranzandJoachim Wiberg f1b8599afb buildroot: bump to latest kkit branch for mdio-tools upgrade
Needed to correct mvls operation on newer kernels.
2024-03-19 14:27:18 +01:00
Mattias Walström d9ffff2b5a cli-pretty: Refactor to not take model as argument
Instead focus on the task to do 'show hardware', 'show interfaces' and more,
this to make it more logical.
2024-03-18 16:32:18 +01:00
Tobias WaldekranzandJoachim Wiberg 3519f748e5 board/aarch: styx: Fix SERDES connection to management CPU
Only port 2 has an SGMII compatible SERDES. When referencing the
SERDES (comphy), the second argument must contain the port number in
order for the comphy driver to pick the correct configuration.
2024-03-14 19:55:01 +01:00
Joachim Wiberg 68fac03f09 patches/finit: resync hwrng support and tmpfiles.d logging fix
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-13 12:08:54 +01:00
Tobias Waldekranz 8bd8195660 kernel: Import fix for 6393X PPU initialization timeout 2024-03-13 11:01:15 +01:00
Tobias Waldekranz 8fa910e8d9 klish-plugin-infix: Prettify 'show ip brief'
- Version sort interfaces ("e2" is listed before "e10")
- Remove "@dsa" from switch interfaces
2024-03-13 11:01:15 +01:00
Tobias Waldekranz 2e3d8881cc test: Allow unit tests to be run from non-x86 builds
Since there is no dependency on anything being built, move the
test-unit target to an architecture-neutral location.
2024-03-13 11:01:15 +01:00
Tobias Waldekranz 4e93e35c86 statd: cli-pretty: Version sort interfaces
Before this change:

e1
e10
e2
...
e9

After this change:

e1
e2
...
e9
e10
2024-03-13 11:01:15 +01:00
Tobias Waldekranz 736a23ccae probe: Fix crash on systems without USB
While __get_phandle_array returns the empty set when the property is
not available, str_array would return None, unless instructed
otherwise. Make sure that it also returns the empty set.
2024-03-13 11:01:15 +01:00
Tobias Waldekranz d602e48d0f patches/uboot: Sync with u-boot-2023.07.y-kkit for multi-chip fixes
- Add upstream patch that fixes multi-chip management in the mv88e6xxx
  driver

- Fix detection of 6393X in multi-chip configuration
2024-03-13 11:01:15 +01:00
Tobias Waldekranz 592f89e1f7 board/aarch64: styx: Initial device tree 2024-03-13 11:01:15 +01:00
Tobias Waldekranz 2a1c3010f8 board/aarch64: cn9130: Specify XMDIO clock names
This lets the driver adjust the clock according to the rate specified
in the device tree.
2024-03-13 11:01:15 +01:00
Joachim Wiberg 049f8d18f9 confd: only start mcd if there is a VLAN upper on the bridge
Temporary fix to prevent odd log messages.  The fix is to add RAW VLAN
support to mcd so it can run as a proxy querier even if there is no
upper VLAN interface or IP address.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-13 10:24:02 +01:00
Joachim Wiberg 65d393d491 Update ChangeLog, issue #328
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-13 10:24:02 +01:00
Joachim Wiberg 7230c3532a confd: improve bridge port validation for VLAN filtering bridges
This patch adds validation of bridge port VLAN memberships and IP
addressing for VLAN filtering bridges:

  1. Ports must be a member of this bridge
  2. Ports cannot be tagged and untagged member at the same time
  3. A VLAN filtering bridge does not support IP addressing

A VLAN filtering bridge can only be a tagged member of a VLAN.  Any IP
addressing needs to be done using an upper VLAN interface.

NOTE: while technically possible break up these long must expressions
      into multiple must expressions per node (split at 'and'), it will
      break libyang in interesting ways that in turn make the confd
      inference functionality stop working.  E.g., creating VETH pairs.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-13 10:24:02 +01:00
Joachim Wiberg 21fd1e9442 Fix #328: drop default value for bridge-port PVID
A bridge port in a VLAN filtering bridge should be possible to configure
as "tagged only", i.e., to not assign ingressing untagged frames a VLAN
and instead drop them.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-13 10:24:02 +01:00
Joachim Wiberg 11c862bbd5 doc: nftables container fixes
- Must run in privileged mode
 - Fix copy-paste container name: system -> nftables
 - Point out the important settings

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-12 11:34:11 +01:00
Joachim Wiberg 88ca959a61 doc: update container documentation, set -> text-editor
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-12 11:21:10 +01:00
Joachim WibergandTobias Waldekranz b4690f3850 statd: skip container interfaces in status output, for now
This patch prevents statd from failing and logging errors on interfaces
currently in another network namespace.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-12 09:26:23 +01:00
Joachim WibergandTobias Waldekranz 8ca2d74566 confd: ensure we always return cni status
This patch fixes a runtime error triggered by modifying an interface
currently used by a container.  The CNI code must always return the
CNI status (reserved for container or not).

How to trigger:
 - Create veth pair
 - Make one end container-network and add to container
 - Leave
 - Return to configure and set an IP address on container interface
 - Leave - BOOM

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-12 09:26:23 +01:00
Joachim WibergandTobias Waldekranz 8ea9dd2c55 patches/finit: backport random seed and rtc fixes
- rtc, already does the best it can, fix occasional duped message
 - urandom, check if seed file empty, try using hwrng

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-12 09:18:38 +01:00
Joachim WibergandTobias Waldekranz 938230c103 patches/finit: reboot-hang-fix and improved bootstrap log message
Backports of fixes for two issues:

 - Finit sometimes locks-up without input on serial console on reboot
 - Improved logging of unsupported initctl commands at bootstrap

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-12 09:18:38 +01:00
Joachim Wiberg 6f185cdfb5 confd: refactor gen-interfaces for hybrid bridge/iface setups
Simplify interface generation by collapsing eth_ and ethlike_ifaces to a
single list.  Let gen_iface_json() determine interface type by querying
each interface.  This allows us to create bridge setups also for qemu
use-cases.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-11 14:37:49 +01:00
Joachim Wiberg 5faefb2b51 doc: adjust image spacing
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-10 16:15:34 +01:00
Joachim Wiberg e8c54b190d doc: add introduction and minor spellecheck
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-10 16:02:27 +01:00
Joachim Wiberg b8f8d50fa6 doc: update images for better color contrast on white/dark bg
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-10 13:26:51 +01:00
Joachim Wiberg 8437a17353 doc: refactor container documentation slightly
Drop all mention of "CNI" and update text to not use, e.g., `cni-bridge`
when this was changed in the model before the merge to main.

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-10 11:58:23 +01:00
Joachim Wiberg 5b7d6c9b65 doc: document VETH pairs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-10 11:51:18 +01:00
Joachim Wiberg ad9060e99c confd: minor, grammar fix
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-10 11:37:17 +01:00
Joachim Wiberg 857e028730 doc: minor, whitespace only
Fill paragraphs to fit standard width.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-10 11:36:35 +01:00
Mattias WalströmandJoachim Wiberg 5ced70435b Replace querierd with mcd in defconfigs 2024-03-09 11:58:40 +01:00
Joachim Wiberg 32635364aa package/mcd: new package, replaces querierd
Update all package references and confd:ietf-interfaces

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-09 11:58:40 +01:00
Joachim WibergandMattias Walström f2cc620941 confd: restrict mdb group to iana-rt-types:ip-multicast-group-address
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-07 12:45:55 +01:00
Joachim WibergandMattias Walström 65fd68797b patches/iproute: backport bridge mdb replace support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-03-07 12:45:55 +01:00