]>
xenbits.xensource.com Git - xen-guest-agent.git/log
Yann Dirson [Fri, 1 Dec 2023 11:54:26 +0000 (12:54 +0100)]
ci: separate test-builds from release-builds, as being "just checks"
We'll want to have more checks, and they will naturally fit in that new
stage, rather than delaying test builds with a separate "check" stage.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Wed, 10 Jan 2024 16:56:47 +0000 (17:56 +0100)]
Apply suggestions from clippy for code simplification
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 11 Jan 2024 10:42:39 +0000 (11:42 +0100)]
ci: make sure to update freebsd package list before trying to install
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Wed, 10 Jan 2024 16:47:37 +0000 (16:47 +0000)]
Merge branch 'doc-cleanup-vif' into 'main'
Document removal of stale network info
See merge request xen-project/xen-guest-agent!60
Yann Dirson [Wed, 10 Jan 2024 16:42:04 +0000 (17:42 +0100)]
Document removal of stale network info
Yann Dirson [Wed, 10 Jan 2024 16:39:26 +0000 (16:39 +0000)]
Merge branch 'gtn-cleanup-vif' into 'main'
Removing all vif entries from xenstore at startup #12
Closes #12
See merge request xen-project/xen-guest-agent!58
Guillaume [Fri, 5 Jan 2024 16:45:07 +0000 (17:45 +0100)]
Removing all vif entries from xenstore at startup
When interfaces reported by Xenstore are suppressed while the service is
not running, these data remain. To avoid this we start by removing all
entries from previous agent. Entries that are still valid will be
repopulated immediatly.
Fixes: #12
Yann Dirson [Tue, 9 Jan 2024 13:10:11 +0000 (13:10 +0000)]
Merge branch 'freebsd-12-eol' into 'main'
ci: restore FreeBSD builds, now with 13.2
See merge request xen-project/xen-guest-agent!59
Yann Dirson [Mon, 8 Jan 2024 16:54:23 +0000 (17:54 +0100)]
Revert "ci: ignore FreeBSD build failures until new container is ready"
Now that the FreeBSD jbs can run again...
This reverts commit
9619b77b712e35afb3ed752b9c560bbca08da294 .
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Tue, 9 Jan 2024 11:16:20 +0000 (12:16 +0100)]
ci: use official package-installing scripts for freebsd
Note that devscripts/freebsd-fetch-package.sh was written for the CI,
and never worked from Cross.toml. Switch everything to the
slightly-improved-and-still-undocumented version of the scripts
shipped in the container itself.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 8 Jan 2024 16:53:59 +0000 (17:53 +0100)]
ci: switch away from EOL'd FreeBSD 12.4 to 13.2
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 8 Jan 2024 16:30:29 +0000 (16:30 +0000)]
Merge branch 'cargo-lock' into 'main'
Cargo.lock: update outdated deps
See merge request xen-project/xen-guest-agent!57
Yann Dirson [Mon, 8 Jan 2024 16:22:49 +0000 (17:22 +0100)]
Cargo.lock: update outdated deps
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 8 Jan 2024 16:14:56 +0000 (16:14 +0000)]
Merge branch 'readme-update' into 'main'
Update README with what's next
See merge request xen-project/xen-guest-agent!54
Yann Dirson [Mon, 8 Jan 2024 16:14:20 +0000 (16:14 +0000)]
Merge branch 'freebsd-ignore-errors' into 'main'
ci: ignore FreeBSD build failures until new container is ready
See merge request xen-project/xen-guest-agent!56
Yann Dirson [Mon, 8 Jan 2024 16:07:13 +0000 (17:07 +0100)]
ci: ignore FreeBSD build failures until new container is ready
Updating the cross-rs container needs some time, let's not stop
things here just because that work is not ready yet.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Olivier Lambert [Mon, 25 Dec 2023 10:35:38 +0000 (11:35 +0100)]
Update README with what's next
Signed-off-by: Olivier Lambert <olivier.lambert@vates.fr>
Yann Dirson [Fri, 22 Dec 2023 15:56:59 +0000 (15:56 +0000)]
Merge branch 'cargo-lock' into 'main'
Cargo.lock: update outdated deps
See merge request xen-project/xen-guest-agent!53
Yann Dirson [Fri, 22 Dec 2023 15:45:05 +0000 (16:45 +0100)]
Cargo.lock: update outdated deps
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 22 Dec 2023 12:32:18 +0000 (12:32 +0000)]
Merge branch 'ci-cross-aarch64' into 'main'
WIP ci: cross-build Linux aarch64 binary
See merge request xen-project/xen-guest-agent!52
Yann Dirson [Thu, 16 Nov 2023 08:46:43 +0000 (09:46 +0100)]
ci: cross-build Linux aarch64 binary
Testbuilding only, as we don't have an obvious use-case to support.
Builds against glibc in a Debian chroot to be able to check
the xenstore build feature.
Yann Dirson [Fri, 22 Dec 2023 11:24:30 +0000 (12:24 +0100)]
ci: more consistency on parallel specification
Yann Dirson [Wed, 20 Dec 2023 16:50:37 +0000 (16:50 +0000)]
Merge branch 'ci-images-full-path' into 'main'
ci: use full path for container images
See merge request xen-project/xen-guest-agent!50
Yann Dirson [Wed, 20 Dec 2023 16:50:23 +0000 (16:50 +0000)]
Merge branch 'ci-cross-windows' into 'main'
Windows CI support
See merge request xen-project/xen-guest-agent!51
Yann Dirson [Mon, 20 Nov 2023 11:13:18 +0000 (12:13 +0100)]
ci: cross-build Windows binary
Mostly a PoC, since we're missing crucial bits:
- Xenstore works differently on WIndows, and we don't have a crate
supporting it yet
- pnet will not build with mingw, needs msvc, and it seems there are
things to be done before we can use that
Yann Dirson [Mon, 18 Dec 2023 15:24:12 +0000 (16:24 +0100)]
Use panic!() not abort!()
Hopefully we won't really need that safeguard, but it's still nice to be
able to compile non non-unix platforms.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Wed, 20 Dec 2023 16:31:14 +0000 (17:31 +0100)]
ci: use full path for container images
Much easier to copy-paste them on a podman command-line, alias files
are not always up to date.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 18 Dec 2023 09:53:37 +0000 (09:53 +0000)]
Merge branch 'ci-no-scheduled-pkg-source' into 'main'
ci: don't run source packaging when scheduled
See merge request xen-project/xen-guest-agent!49
Yann Dirson [Mon, 18 Dec 2023 09:47:30 +0000 (10:47 +0100)]
ci: don't run source packaging when scheduled
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 18 Dec 2023 09:17:07 +0000 (09:17 +0000)]
Merge branch 'scheduled-freebsd' into 'main'
ci/freebsd: use proper before_script template
See merge request xen-project/xen-guest-agent!48
Yann Dirson [Mon, 18 Dec 2023 08:43:17 +0000 (09:43 +0100)]
ci/freebsd: use proper before_script template
Fixes
27fb1ae87b512efc2c55657108fa27531a26f3ea , should really
investigate why I was not able to test this scheduled job on the PR
first <sigh>.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 15 Dec 2023 16:54:34 +0000 (16:54 +0000)]
Merge branch 'scheduled-freebsd' into 'main'
scheduled ci jobs for FreeBSD
See merge request xen-project/xen-guest-agent!47
Yann Dirson [Fri, 15 Dec 2023 16:47:54 +0000 (17:47 +0100)]
ci: add a scheduled job for checking freebsd build
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 15 Dec 2023 16:47:22 +0000 (17:47 +0100)]
ci: resync un/scheduled Linux job definitions
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 15 Dec 2023 16:26:46 +0000 (16:26 +0000)]
Merge branch 'ci-fix-scheduled' into 'main'
ci/deb: don't attempt to run deploy job when scheduled
See merge request xen-project/xen-guest-agent!46
Yann Dirson [Fri, 15 Dec 2023 16:01:17 +0000 (17:01 +0100)]
ci/deb: don't attempt to run deploy job when scheduled
This caused a "yaml error" since dependencies were already disabled in
scheduled jobs.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 15 Dec 2023 15:03:33 +0000 (15:03 +0000)]
Merge branch 'post-release-0.3.0' into 'main'
Bump version to 0.4.0-dev
See merge request xen-project/xen-guest-agent!45
Yann Dirson [Fri, 15 Dec 2023 14:47:37 +0000 (15:47 +0100)]
Bump version to 0.4.0-dev
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 15 Dec 2023 14:45:24 +0000 (14:45 +0000)]
Merge branch 'release-0.3.0' into 'main'
Release v0.3.0
See merge request xen-project/xen-guest-agent!44
Yann Dirson [Thu, 16 Nov 2023 16:43:38 +0000 (17:43 +0100)]
Release version 0.3.0
Yann Dirson [Fri, 15 Dec 2023 13:48:28 +0000 (14:48 +0100)]
Textual clarification and fixes
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 16:34:13 +0000 (16:34 +0000)]
Merge branch 'deb-file-index' into 'main'
ci/deb: provide uncompressed Contents file
See merge request xen-project/xen-guest-agent!43
Yann Dirson [Thu, 14 Dec 2023 15:54:20 +0000 (16:54 +0100)]
ci/deb: provide uncompressed Contents file
The uncompressed *checksum* is needed.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 15:37:08 +0000 (15:37 +0000)]
Merge branch 'ci-package-repo' into 'main'
ci/pkg: fix handing of git-describe version for deb and rpm
See merge request xen-project/xen-guest-agent!42
Yann Dirson [Thu, 14 Dec 2023 15:02:09 +0000 (16:02 +0100)]
ci/rpm: replace - with + in git-describe version
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 14:57:36 +0000 (15:57 +0100)]
ci/deb: don't attempt package renaming if version did not need mangling
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 14:48:40 +0000 (14:48 +0000)]
Merge branch 'ci-package-repo' into 'main'
ci: fix apk-add invocation
See merge request xen-project/xen-guest-agent!41
Yann Dirson [Thu, 14 Dec 2023 14:10:02 +0000 (15:10 +0100)]
ci: fix apk-add invocation
Really fixes breakage from
e651f8fae5c49bb1301a9b38fb047eba78d941dc .
So much for trusting search results on CLI syntax :/
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 13:55:12 +0000 (13:55 +0000)]
Merge branch 'ci-package-repo' into 'main'
ci: make sure env-setup job has git available when needed
See merge request xen-project/xen-guest-agent!40
Yann Dirson [Thu, 14 Dec 2023 13:46:41 +0000 (14:46 +0100)]
ci: make sure env-setup job has git available when needed
Fixes breakage from
e651f8fae5c49bb1301a9b38fb047eba78d941dc .
CI in PR kinda sucks when using main-specific actions :/
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 13:40:44 +0000 (13:40 +0000)]
Merge branch 'ci-package-repo' into 'main'
Make package repo usable
See merge request xen-project/xen-guest-agent!39
Yann Dirson [Thu, 14 Dec 2023 10:37:47 +0000 (11:37 +0100)]
ci: use git-describe to set version for main branch builds
This will ensure not all builds share the same version string, and let
package update mechanism do their job.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 10:33:35 +0000 (11:33 +0100)]
ci: rename VERSION to TILDEVERSION for less ambiguity
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 10:32:15 +0000 (11:32 +0100)]
ci: set VERSION and UPSTREAMVERSION once in env-setup
Similarly to UPDATE_CHANNEL, we want a more complex heuristic to set
it in the end.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 09:48:58 +0000 (10:48 +0100)]
ci: use "release" and "testing" update channels for tags
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 09:37:48 +0000 (10:37 +0100)]
ci: setup packaging update channel once
Prepares introduction of more complex choice of update channel.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 09:51:36 +0000 (10:51 +0100)]
ci: activate pipelines for tags
Those are intended to produce the release artifacts.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 09:36:23 +0000 (10:36 +0100)]
ci/deb: remove unused dotenv report
Leftover from abandoned work.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 12:27:12 +0000 (13:27 +0100)]
ci: disable curl progress meter for more readability
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 09:23:58 +0000 (09:23 +0000)]
Merge branch 'cargo-lock' into 'main'
bump dependencies
See merge request xen-project/xen-guest-agent!38
Yann Dirson [Thu, 14 Dec 2023 09:17:47 +0000 (10:17 +0100)]
Cargo.lock: update outdated deps
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 08:59:41 +0000 (08:59 +0000)]
Merge branch 'more-ci-artifacts' into 'main'
CI source artifact, package repositories
See merge request xen-project/xen-guest-agent!37
Yann Dirson [Wed, 13 Dec 2023 11:34:49 +0000 (12:34 +0100)]
ci/deb: post-process Packages to use branch-name as component
This avoids the problem seen with HTTP 400 errors.
The sources.list entry for latest dev snapshot will be:
deb [trusted=yes] https://gitlab.com/api/v4/projects/xen-project%252Fxen-guest-agent/packages/generic/deb-amd64/ main/
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Tue, 12 Dec 2023 16:21:32 +0000 (17:21 +0100)]
ci/deb: publish APT repository as a gitlab "generic package"
This ought to be used as sources.list entry to access the repo, but
for some reason `apt-get update` gets HTTP 400 on Packages file,
whereas curl fetches it all right.
deb [trusted=yes] https://gitlab.com/api/v4/projects/xen-project%252Fxen-guest-agent/packages/generic/deb-amd64/ci/ ./
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 11 Dec 2023 17:02:20 +0000 (18:02 +0100)]
ci/deb: let deb job generate files for an APT repository
For some reason, while we can fetch the artifact files with curl,
apt-get gets told they do not exist.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 11 Dec 2023 16:49:45 +0000 (17:49 +0100)]
ci: add source-tarball generation
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 14 Dec 2023 08:46:19 +0000 (09:46 +0100)]
ci: use "pkg-" prefix for packaging jobs
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
dependabot[bot] [Thu, 14 Dec 2023 00:14:45 +0000 (00:14 +0000)]
build(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Yann Dirson [Wed, 13 Dec 2023 17:29:54 +0000 (18:29 +0100)]
ci/rpm: avoid confusing nesting of quotation marks
Although valid shell syntax, this confuses some editors.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 11 Dec 2023 16:33:40 +0000 (17:33 +0100)]
doc/release: acknowledge that CI builds are now there
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 11 Dec 2023 16:35:52 +0000 (17:35 +0100)]
Fix typo in --help
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 11 Dec 2023 10:39:36 +0000 (10:39 +0000)]
Merge branch 'netlink-packet-route-0.18' into 'main'
netlink: upgrade to netlink-packet-route 0.18
See merge request xen-project/xen-guest-agent!36
Yann Dirson [Mon, 11 Dec 2023 10:22:35 +0000 (11:22 +0100)]
netlink: upgrade to netlink-packet-route 0.18
Yann Dirson [Mon, 11 Dec 2023 09:43:07 +0000 (09:43 +0000)]
Merge branch 'cargo-lock' into 'main'
Cargo.lock: update outdated deps
See merge request xen-project/xen-guest-agent!35
Yann Dirson [Mon, 11 Dec 2023 09:31:52 +0000 (10:31 +0100)]
Cargo.lock: update outdated deps
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 11 Dec 2023 09:29:34 +0000 (10:29 +0100)]
Include VIF bugfixes in relnotes
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 11 Dec 2023 09:27:40 +0000 (09:27 +0000)]
Merge branch 'relnotes' into 'main'
Introduce a file for release notes
See merge request xen-project/xen-guest-agent!31
Yann Dirson [Fri, 1 Dec 2023 15:21:54 +0000 (16:21 +0100)]
Introduce a CHANGELOG.md file for release notes
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 8 Dec 2023 16:33:38 +0000 (16:33 +0000)]
Merge branch 'index-iface-by-number' into 'main'
Index network interfaces by their numeric index, not by their name
Closes #13
See merge request xen-project/xen-guest-agent!23
Yann Dirson [Fri, 24 Nov 2023 11:02:34 +0000 (12:02 +0100)]
netlink: handle iface renaming
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 24 Nov 2023 11:00:52 +0000 (12:00 +0100)]
net: prepare interface cache for name changing
While name changes do not necessarily have external impact (eg.
xenstore_schema_std does not expose those names), they are necessary
on Linux to know whether an iface is a VIF. This requires
NetInterface objects in the cache to be mutable.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 23 Nov 2023 16:28:08 +0000 (17:28 +0100)]
netlink: properly behave if link event has no MAC
Should never happen, but not a reason to have bad code.
And we can do that without worrying, because now we have separate Add/RmIface
events.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Tue, 21 Nov 2023 13:55:17 +0000 (14:55 +0100)]
net: separate add/rm of interface and add/rm of MAC address
The current code would do nothing on interface removal, as we only
emit a `RmMac` event, with which xenstore_schema_std does nothing (we did
not add them in the first place).
An explicit `RmIface` allows for the removal of the full iface tree in
Xenstore, since there is no need to expose a mostly-empty tree.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Tue, 21 Nov 2023 14:30:16 +0000 (15:30 +0100)]
netlink: prepare to generate more NetEvent's from a RtnlMessage
This will allow to separate handling of interfaces and MAC addresses.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Wed, 22 Nov 2023 16:11:57 +0000 (17:11 +0100)]
Drop unix_helper
We finally don't have a need for separately querying for an interface name
from its index, since we don't need to fetch this information every time a
packet arrives, netlink already gives us everything we need.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 23 Nov 2023 17:27:41 +0000 (18:27 +0100)]
pnet: keep a note on InterfaceInfo::name
Storage of interface name in pnet::InterfaceInfo would seem redundant
now, but we still need it stored temporarily, and this still looks
like the best place to do so.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 30 Nov 2023 16:45:00 +0000 (17:45 +0100)]
net: keep a cache of network interfaces
Collects in a central place a map of iface indices, their names, and their
toolstack interface if any.
Finally replaces add_vif_info() calls with get_toolstack_interface()
called once to populate the cache.
Finally the RmIp events can be applied when an interface disappears, which
essentially fixes #13.
Though this makes a new problem apparent: recreating the VIF sometimes
does not get caught on Linux, when the iface is created as eth0 and
then renamed by udev as enX0 in a subsequent Newlink message: since we
are now only attempting to identify the toolkit-interface once, if
when we try to access the /sys node for eth0 the renaming already
occured the toolkit-interface is frozen as None.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 30 Nov 2023 16:42:26 +0000 (17:42 +0100)]
netlink: refactor private funcs as methods
While there is no use for `self` today in there, we're going to need to
refer to an iface_cache in next commits, which gets much simplified if we
never have to borrow across method boundaries.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 23 Nov 2023 10:52:07 +0000 (11:52 +0100)]
pnet: reword network_view as current_addresses
Makes wording consistent with addresses_cache, easier reading.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 23 Nov 2023 10:39:05 +0000 (11:39 +0100)]
pnet: reword cache as addresses_cache
We're going to have an interface cache too, let's be clear.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Thu, 23 Nov 2023 10:36:20 +0000 (11:36 +0100)]
pnet: reword NetworkView as AddressesState
Prepares renaming of "cache" member.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Wed, 22 Nov 2023 11:42:27 +0000 (12:42 +0100)]
net: rework toolstack-interface detection
Detection of toolstack-interface (and not only VIF) does not have to
be done on every NetEvent, but only once. To prepare for this,
introduce a new functional API that can be used instead of mutating a
NetEvent - this does not change call sites, which still make use of
the legacy API.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 20 Nov 2023 14:29:47 +0000 (15:29 +0100)]
netlink: use name from NLA in Link events
We were always calling `if_indextoname()` to get the interface name when
receiving a New/DelLink message. Just use the data we already received
instead.
On NewLink messages we just received the interface name, so we don't need
to make another query to get the information; on DelLink the sycall cannot
even give us this information any more.
Note at this point we still use "" to denote the lack of a name - it
seems unlikely to happen there anyway, and will be made cleaner next.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Tue, 21 Nov 2023 09:40:51 +0000 (10:40 +0100)]
xenstore_schema_rfc: propose using iface number as key
This is more stable than names, and requires less bookkeeping in the
agent.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Tue, 21 Nov 2023 09:11:29 +0000 (10:11 +0100)]
xenstore_schema_std: index the iface address cache with OS index
Iface name is not always part of a Netlink message, as opposed to the
OS index of the interface, and looking up the name following reception of
an interface removal notification just does not work.
All supported and prospective platforms seem to have a concept of
interface OS index, so this should cause no problem and be more efficient.
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 20 Nov 2023 15:26:13 +0000 (16:26 +0100)]
pnet: index NetworkView by interface index, not name
Current structure made us fill NetInterface with a dummy interface
number, and we want to use interface number in xenstore_schema_std to
fix #13.
Iface name becomes part of the associated data, bundle it into
InterfaceInfo for now (it will get redundant with introduction of a more
global interface cache).
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Mon, 20 Nov 2023 14:52:07 +0000 (15:52 +0100)]
pnet: use a NetworkView type alias to reduce redundancy
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Tue, 5 Dec 2023 14:15:22 +0000 (14:15 +0000)]
Merge branch 'cargo-lock' into 'main'
Cargo.lock: update outdated deps
See merge request xen-project/xen-guest-agent!34
Yann Dirson [Tue, 5 Dec 2023 13:54:47 +0000 (14:54 +0100)]
Cargo.lock: update outdated deps
Signed-off-by: Yann Dirson <yann.dirson@vates.fr>
Yann Dirson [Fri, 1 Dec 2023 11:34:20 +0000 (11:34 +0000)]
Merge branch 'ci-everycommit-catch-failures' into 'main'
ci: fix everycommit regression
See merge request xen-project/xen-guest-agent!29