Commit Graph
1369 Commits
Author SHA1 Message Date
Joachim Wiberg 91374a1155 Fix trailing whitespace in YANG descriptions
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-06 15:57:42 +01:00
Joachim Wibergandtroglobit 3966f8ed0e Document VETH pair limitation with containers
Add documentation noting that at least one side of a VETH pair must
remain in the host namespace. Both ends cannot be assigned to different
containers.

Updates:
- container.md: Added IMPORTANT note in Container Host Interface section
- infix-if-veth.yang: Added note in module description
- infix-if-container.yang: Added note in host identity description

Fixes: #947
Related: #941

Co-authored-by: troglobit <183517+troglobit@users.noreply.github.com>
2026-02-06 15:56:51 +01:00
Joachim Wiberg 2b6588eaf4 cli: add 'show keystore' command to admin-exec
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-02 17:50:13 +01:00
Joachim Wiberg 08742df166 doc: ux update with new 'change' and 'do wireguard' commands
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-02 17:50:12 +01:00
Joachim Wiberg 2a176d5888 cli: add 'wireguard <genkey | genpsk>' command to admin-exec
Helper command to improve the UX for setting up Wireguard tunnels.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-02 17:50:11 +01:00
Joachim Wiberg 0c1aede731 confd: add wifi passphrase and key validation to SR_EV_CHANGE
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-02 17:50:08 +01:00
Joachim Wiberg 5ceda4569e confd: restore IETF standard keystore leaf types and NACM rules
Infix key format identities now derive from the IETF bases, so the standard
identityref accepts them without any need for deviations.  This also preserves
the nacm default rules, which were inadvertently dropped before.

Also rename format identities for generality:

 - wifi-preshared-key-format      -> renamed: 'passphrase-key-format'
 - wireguard-symmetric-key-format -> use IETF 'octet-string-key-format'

Since cleartext-symmetric-key is now type binary (base64-encoded), the
WiFi backends (station and AP) decode values before passing them to
wpa_supplicant and hostapd.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-02-02 17:50:07 +01:00
Joachim Wiberg 93fceb9a5f doc: update IPv6 forwarding documentation
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-30 13:09:19 +01:00
Joachim Wiberg 129f92afdd statd: use IPv6 force_forwarding in operational state
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-30 09:11:41 +01:00
Joachim Wiberg 717c1c02f1 confd: use force_forwarding sysctl for IPv6
Introduced in Linux 6.17, the force_forwding flag corresponds to the
ipv4 forwarding flag, which maps perfectly to the ietf-ip.yang model.

Fixes #515

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-30 09:11:40 +01:00
Mattias Walström fb89d47c90 yanger: Allow to read back SSIDs encoded with utf-8 2026-01-27 11:09:54 +01:00
Mattias Walström 2b5e4e92f1 cli_pretty: Wi-Fi: signal-strenght to text was inverted
Should be like this:
  ┌────────────┬────────────────────┐
  │ RSSI (dBm) │       Status       │
  ├────────────┼────────────────────┤
  │ ≥ -50      │ excellent (strong) │
  ├────────────┼────────────────────┤
  │ -60 to -51 │ good               │
  ├────────────┼────────────────────┤
  │ -70 to -61 │ poor               │
  ├────────────┼────────────────────┤
  │ < -70      │ bad (weak)         │
  └────────────┴────────────────────┘
2026-01-27 11:09:54 +01:00
Mattias Walström 01e82547f7 confd: Wi-Fi: Rename RSSI to signal-strength
RSSI is a vendor-specific relative index (0-255), while dBm is an
absolute power measurement. Since we report dBm values from iw,
rename the leaf to signal-strength for accuracy.
2026-01-27 11:09:51 +01:00
Mattias Walström a8dc889c7e confd: wifi: Update wpa_supplicant config when wifi setting change
For example changing SSID
2026-01-26 23:35:38 +01:00
Mattias Walström c0591773d4 yang: wifi: Only one virtual interface can have default MAC
The others need to set custom-phys-address, if not dagger will fail
to take up the interface because "The address is not unique on the network"
2026-01-26 23:31:07 +01:00
Joachim Wiberg 0a6a1ce055 confd: ensure dhcp client default behavior, register hostname
For some reason, during the last refactor possibly, the dhcp client
stopped sending the current hostname to the dhcp server.  This is very
useful to check what devices are on your network by asking the home
router's dhcp server.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-26 19:55:00 +01:00
Joachim Wiberg 76574fdd2b confd: minor, coding style
Also, gcc complains that ap_op may be used unset, so let's set it to the
only safe default there is.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-26 19:55:00 +01:00
Joachim Wiberg c0fd39f069 confd: drop wifi-scanner in favor of wpa_supplicant autoscan
The trick to starting the scanner mode is to have a dummy network that
cannot associate with anything.

Fixes #1193

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-26 19:54:59 +01:00
Joachim Wiberg ff197d9b10 confd: reduce Frr default log level
Was set to informational, and Zebra to debug, which is mostly useful for
developers when debugging the integration of Frr daemons.

Example of before this patch:

Nov  4 13:44:09 infix-6f-05-e1 finit[1]: staticd[4366], stopping, sending SIGTERM ...
Nov  4 13:44:09 infix-6f-05-e1 staticd[4366]: Terminating on signal
Nov  4 13:44:09 infix-6f-05-e1 zebra[4221]: [N5M5Y-J5BPG][EC 4043309121] Client 'static' (session id 0) encountered an error and is shutting down.
Nov  4 13:44:09 infix-6f-05-e1 zebra[4221]: [KQB7H-NPVW9] zebra/zebra_ptm.c:1333 failed to find process pid registration
Nov  4 13:44:09 infix-6f-05-e1 zebra[4221]: [JPSA8-5KYEA] client 26 disconnected 1 static routes removed from the rib
Nov  4 13:44:09 infix-6f-05-e1 zebra[4221]: [S929C-NZR3N] client 26 disconnected 0 static nhgs removed from the rib
Nov  4 13:44:09 infix-6f-05-e1 finit[1]: Starting staticd[5529]
Nov  4 13:44:09 infix-6f-05-e1 zebra[4221]: [V98V0-MTWPF] client 26 says hello and bids fair to announce only static routes vrf=0

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-26 19:54:59 +01:00
Joachim Wiberg 6c0fd3e96b board/common: fix shell and clish 'follow' commands
We want the command to show the entire log file, but fast forward to and
tail at the end, handling any file rotations from syslogd.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-26 18:22:55 +01:00
Mattias Walström 87737ff23a confd: Wi-Fi: Set safe defaults
Learned one thing, a setting not set, is a safe setting.
bss_color made a lot of iPhones failed to connect.

Remove some more options with unknown impact.
2026-01-26 08:44:33 +01:00
Joachim Wiberg 5fdd2cb0f9 bin: minor, coding style
Reverse christmas tree.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 11:15:47 +01:00
Joachim Wiberg e60ca12733 bin: capture cpu/soc/core temperture for 'show system'
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 11:15:46 +01:00
Joachim Wiberg c7d219f5e3 confd: add missing interface type descriptions
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 11:15:45 +01:00
Joachim Wiberg a7422535c3 confd: minor adjustments to wifi config file handling
Ensure umask is properly managed around file creation
to maintain consistent behavior across the codebase.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 11:15:44 +01:00
Joachim Wiberg da80127ef0 confd: use dummy interface in lieu of missing radios
If we time out waiting for a wifi dongle, or onboard chipset, instead of
causing fatal error in dagger and b0rking startup, we cheat and create a
dummy interface.

Also, fix bug in HEAD, the condition was == wifi_ap but the comment said
"if not station or scanning mode".  Since wpa_supplicant is for station
mode (not AP), the cleanup should happen when != wifi_ap.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 11:15:44 +01:00
Joachim Wiberg 480447c8f2 confd: interfaces depend on hardware, fix ordering
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 11:15:43 +01:00
Joachim Wiberg a4b325c4e1 confd: refactor and code cleanup
- Simplify, prefer readability
 - Fix nftw() 'nopenfd' argument
 - Constify

The most interesting change is the argument to nftw(), 0 -> 20, to
ensure it is allowed to open enough file descriptors to descend.
In POSIX it is undefined if nopenfd is < 1.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 11:15:43 +01:00
Joachim Wiberg dabe4aed8d confd: fix wifi class interence of radioN hardware components
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 02:27:39 +01:00
Joachim Wiberg 6c41dc3a71 confd: add probe-timeout for wifi dongles
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 02:27:38 +01:00
Joachim Wiberg 33f830b432 statd: add BSSID to table of available networks
Also, spruce up the table a bit.  Allow it to resize, let the SSID column
be flexible, and right-align column(s) with numbers.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 02:27:38 +01:00
Joachim Wiberg 6932939525 statd: convert 'show ntp [opt]' tables to SimpleTable
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-25 02:27:37 +01:00
Joachim Wiberg 87a754eab1 statd: Add rx/tx bitrate to WiFi station operational data
Extend the WiFi station mode with rx-speed and tx-speed leaves,
mirroring what already exists for AP mode connected stations.
Display bitrates in 'show interface <wifi>' detailed view.

Also standardize speed units to kbps/Mbps across the YANG model.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-24 19:17:48 +01:00
Joachim Wiberg 496eda7eb2 statd: remove double-close of file descriptor after fclose
When fdopen() succeeds, the FILE stream takes ownership of the file
descriptor.  Calling fclose() automatically closes the underlying fd, so
the subsequent close(fd) calls were double-close bugs that could cause
undefined behavior.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-01-24 18:08:32 +01:00
Mattias Walström 0a778805a5 copy.c: Init pointers to NULL before start checking them
If copy to stdout dstds will be undefined.
2026-01-24 15:24:01 +01:00
Mattias Walström 1f361f72a7 wifi: Remove 802.11ax (wifi 6) as an opt-in feature
Instead it shall be a opt-out per SSID
2026-01-24 15:18:24 +01:00
Mattias Walström 3aa912164a yanger: wifi: Refactor to only use iw data (except for scanning)
Before it was a mess with wpa_cli and hostapd_cli commands, but now
we have a iw => json tool (iw.py) so we can use iw to get the information.
2026-01-24 15:01:32 +01:00
Mattias Walström 4283dc8395 confd: Wi-Fi: Set sane defaults (access point) 2026-01-24 14:01:27 +01:00
Mattias Walström a471cdf770 confd: wifi: Refactor radio setup (access point)
Use common function for configure main SSID and
bss SSID.
2026-01-24 09:51:02 +01:00
Mattias Walström 768d3fc233 confd: wifi: Enable wmm (Wi-Fi Multimedia) - QoS for WiFi.
This should always be enabled. It is a requirement for higher speeds
n/ac/ax.
2026-01-23 13:05:33 +01:00
Mattias Walström 10d7cbc267 confd: wifi: Disable legacy rates (802.11b)
This may improve range of Wi-Fi, with low/none
impact. This could make configurable later on.
2026-01-23 13:05:33 +01:00
Mattias Walström 0f6ab23206 confd: Fix migration script
When migrate to 1.7 the keystore was not correctly
migrated.
2026-01-23 13:05:33 +01:00
Mattias Walström fd331149f3 confd: wireguard: Add check for null pointer 2026-01-23 13:05:32 +01:00
Mattias Walström da412cdc04 YANG: Remove precence of wifi-container
This is obsolete. By remove this we expose radio as mandatory.
This since a Wi-Fi interface is not possible to create without
a radio to connect it to.
2026-01-23 13:05:31 +01:00
Mattias Walström c57b428965 yang: Lockdown to only allow one station (or scanning) interface per radio
This since this is 99% of the cases wrong config, and crashes
on many Wi-Fi chipset.
2026-01-23 13:05:31 +01:00
Mattias Walström 598fbcf326 confd: wifi: Refactor station out from hardware.c
This is run per interface, not per radio so its place
in hardware.c was wrong. This also opens up for multiple
station interfaces per radio, but not for now that it locked
down in a must expression for now.
2026-01-23 13:05:30 +01:00
Mattias Walström 118a7bf1ca confd: Fix errors in the dependency tracking regarding Wi-Fi 2026-01-23 13:05:30 +01:00
Mattias Walström c9f68f5823 confd: mdns: Fix reflector
enable-reflector was set to on/off, but it shall be set
to yes/no.
2026-01-23 13:05:27 +01:00
Mattias Walström f002c5570f confd: wifi: rename setting enable-wifi6
Use the standard name instead of the marketing name,
new syntax enable-80211ax, which is consistent with
the nameing of the new roaming settings.
2026-01-23 13:03:58 +01:00
Mattias Walström 0ac4c4ca6f yanger: show proper phy name for Wi-Fi phys 2026-01-23 13:03:58 +01:00