Commit Graph
450 Commits
Author SHA1 Message Date
Joachim Wiberg eaedae4ccb src/confd: draft ietf-interfaces prototype to set static IP address
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg ce5ff75c9c src/confd: refactor sr_get_bool() into srx_get_bool()
Note: new API, srx_get_bool() returns -1 on error, leaving 0 and 1 as
false and true, respectively.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg 4654e169a5 src/confd: replace local run() function with systemf() from libite
It started its life as a copy of systemf() anyway, time to clean up.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg c838977f91 src/confd: unlock -lite API, e.g. fopenf(), systemf(), etc.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg f28a19c9ea src/confd: minor, rename local var for consistency
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg 12f72c5e5f src/confd: refactor helper fns to new namespace
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg ede544257f src/confd: add missing header
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg cfba783f1c src/confd: minor, drop trailing / from YANG_PATH_
Prevent // in new srx_require_module() when composing module PATH.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg 6ff3d15b0b src/confd: add SPDX license identifier to new files
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg c74f76cdee src/confd: minor, use more common fmt rather than frmt
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Joachim Wiberg 6a73a3fcc2 src/confd: minor, fix iana-if-type revision
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-17 14:09:24 +02:00
Tobias WaldekranzandJoachim Wiberg 1bd66003ae confd: if: Ensure that the required modules are loaded 2023-04-17 14:09:24 +02:00
Tobias WaldekranzandJoachim Wiberg a7fcdc8f4a confd: Add helper to ensure that required modules are loaded
Unfortunately, sysrepo considers it an error to load a module that is
already loaded, ruling out using `sr_install_modules`.

Therefore, provide `require_modules` instead, which ensures that a
given set of modules are loaded, or loads them otherwise.
2023-04-17 14:09:24 +02:00
Tobias WaldekranzandJoachim Wiberg db804eb9d0 confd: Allow usage of asprintf 2023-04-17 14:09:24 +02:00
Joachim WibergandTobias Waldekranz 95a4b43091 configs: drop currently unused packages to save build time + size
Things we really want later, but don't use right now:

 - MRP
 - MSTP

Neat to have in a networking product, but not used at all by us atm:

 - ttyd
 - tmux

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 12:22:29 +02:00
Joachim WibergandTobias Waldekranz 3217722c36 Update, Clixon has been replaced by sysrepo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 12:22:29 +02:00
Joachim WibergandTobias Waldekranz 4e4b6f2a7b package/{ifupdown2,python-templating}: drop unused packages, replaced by ifupdown-ng
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 12:22:29 +02:00
Joachim WibergandTobias Waldekranz 4d835ff808 package/{sysrepo*,umgmt}: drop unused packages, replaced by confd
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 12:22:29 +02:00
Joachim WibergandTobias Waldekranz 73892ea6f0 package/cli*: drop cligen and clixon after migration to sysrepo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 12:22:29 +02:00
Joachim WibergandTobias Waldekranz 41b17fc64d package/mech: drop, unused after migration to sysrepo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 12:22:29 +02:00
Joachim WibergandTobias Waldekranz e9757ac3ef .github: run action on approved PR or if started manually
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 11:12:09 +02:00
Joachim WibergandTobias Waldekranz 1ebdf05371 .github: only allow upload of latest build from main repo
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-13 11:12:09 +02:00
Tobias Waldekranz f2aaf4a558 Merge branch 'sysrepo' 2023-04-13 10:21:23 +02:00
Tobias Waldekranz e9c4bafb4c confd: Treat all build warnings as errors
We exclude unused parameters, since many callbacks have parameters
that we're not interested in.
2023-04-13 09:30:43 +02:00
Tobias Waldekranz f5259b32d8 confd: Kill all -Wall -Wextra warnings 2023-04-13 09:30:43 +02:00
Tobias Waldekranz 3320175abd confd: Fix symbol redefinition error 2023-04-13 09:27:36 +02:00
Richard AlpeandJoachim Wiberg 02ac6a7ea7 src/confd: add the ability to change MotD in cli
Add the ability to set and delete system MotD (Message Of The Day)
using the cli.

This patch augments the standard ietf-system yang schema with
a new infix-system schema which contains a new motd leaf.

The default value is hard coded in two places, confd and the rootfs
file /etc/motd. The intention is to fix this in upcoming patches.

Introduces:
exec> configure> set system motd STRING
exec> configure> delete system motd
2023-04-12 16:51:08 +02:00
Joachim Wiberg 22a18f3e61 src/confd: skeleton for ietf-interfaces
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-12 09:22:50 +02:00
Joachim Wiberg 015f1b7a87 package/finit: add support for setting RTC plugin fallback datetime
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-10 16:36:32 +02:00
Joachim Wiberg 82c8423cea src/net: fixes after spec. audit by wkz
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-08 10:53:44 +02:00
Joachim Wiberg caa07e8b20 Drop local libite patches in favor of libite v2.5.3
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-08 07:18:46 +02:00
Joachim WibergandGitHub e9a49ac546 Merge pull request #6 from hno-addiva/fix/crb_defconfig
cn9130_crb_boot: Add required host tools for build

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-06 15:45:28 +02:00
Joachim WibergandGitHub 530adeaf53 Merge pull request #5 from hno-addiva/fix/binutils-2.9
Patch for building ARM TF-A with binutils-2.39+

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-06 15:44:46 +02:00
Henrik Nordstrom dc8f1c344e cn9130_crb_boot: Add required host tools for build 2023-04-06 15:44:17 +02:00
Henrik Nordstrom a410c38c0f Patch for ARM TF-A with binutils-2.39+
Adopted from https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19401/4/Makefile
2023-04-06 15:35:50 +02:00
Joachim WibergandGitHub 2bdb910db8 Merge pull request #3 from hno-addiva/main
Set buildroot branch name

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-06 14:53:46 +02:00
Henrik Nordstrom 64c3fdc5b1 Set buildroot branch name
allows "submodule update --remote" to refresh to current version
2023-04-06 14:31:04 +02:00
Joachim Wiberg 8f1f74263d src/net: first prototype
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-05 16:08:07 +02:00
Joachim Wiberg 2943922b4c configs: add dosfstools and mtools for disk image generation + gns3
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-04 15:11:55 +02:00
Joachim Wiberg 2ba8612f7f src/confd: add commit_done_hook() to call initctl reload
This is needed to confirm the new system configuration generation and
reload all affected services.  E.g., when configuring an NTP server
and committing the candidate to running, the ietf-system plugin has
only enabled the service, as a last step we need to tell Finit to
actually start it.

This hook needs to run last since the enabled service(s) may depend on
other service(s), or networking, to be enabled in the proper order.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 20:35:55 +02:00
Joachim Wiberg 59d5340eae src/confd: mark missing yang support with XXX
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 19:33:37 +02:00
Joachim Wiberg 69920cb230 src/confd: add support for /ietf-system:system/dns-resolver
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 19:31:34 +02:00
Joachim Wiberg 42281378f8 src/confd: new function, sr_get_int()
Really ugly handling here, needs to be reworked into sr_uint8() etc.,
adding as-is for big upcoming demo.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 19:29:55 +02:00
Joachim Wiberg 443cb2ddf1 src/confd: add support for /ietf-system:system/clock, with deviation
Declare deviation for /ietf-system:system/clock/timezone-utc-offset,
which we currently do not support.

Please note, when setting out to add support for timezone-utc-offset,
you need to ensure the user does not input both, that should be a
validation error.  It's an either-or thing.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 18:17:59 +02:00
Joachim Wiberg 68a5a50040 src/confd: add timezone support to set-current-datetime rpc
How to verify, use the following command and paste the XML below:

    $ sysrepocfg -R
    <sys:set-current-datetime xmlns:sys="urn:ietf:params:xml:ns:yang:ietf-system">
        <sys:current-datetime>2022-01-12T14:29:00-02:00</sys:current-datetime>
    </sys:set-current-datetime>

Reuse code from mech, verified and working.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 16:37:23 +02:00
Joachim Wiberg 4e0d7ad494 src/confd: use /etc/os-release for platform operational data
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 14:14:05 +02:00
Joachim Wiberg a2d2d0948f src/confd: minor refactor
Reuse code from mech, verified and working.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 14:08:30 +02:00
Joachim Wiberg 32e55d3562 configs: update defconfigs post e729c82
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 06:32:17 +02:00
Joachim Wiberg 4e3f3a01b3 board/common: change cli alias to start klish
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 06:31:47 +02:00
Joachim Wiberg 36ff60f99c package/confd: support for customer factory startup-config.cfg
When researching the systemd tmpfiles.d implementation I discovered the
effort to standarize on /usr/share/factory as a generic factory defaults
for Linux systems.  This patch adds a small example factory.cfg file
that is installed as /usr/share/factory/cfg/startup-config.cfg.  The
tmpfiles.d backend will then install it as /cfg/startup-config.cfg if
that file is missing at boot.  Confd does the rest to bootstrap our
(by default) empty sysrepo db with this startup-config.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-03 06:00:54 +02:00