From: Julien Lepiller <julien@lepiller.eu>
To: help-guix@gnu.org, Niklas Schmidt <snlabs@posteo.net>
Subject: Re: Add VLAN with Guile Netlink link-add
Date: Tue, 11 Jan 2022 14:01:08 +0100 [thread overview]
Message-ID: <DFE5F0D6-6F86-4B1D-A423-67A64505C70E@lepiller.eu> (raw)
In-Reply-To: <YdwYoqttwaO7LYYQ@posteo.de>
Thanks for the report! It looks like I didn't read the netlink documentation properly and forgot a part of the message. I think I just fixed that in guile-netlink 1.1.2. You can access it with --with-latest=guile-netlink ;)
Le 10 janvier 2022 12:29:38 GMT+01:00, Niklas Schmidt <snlabs@posteo.net> a écrit :
>Dear Guix,
>
>I really appreciate the ability to declare a static-networking
>configuration.
>
>I face some difficulties adding a 802.1Q VLAN interface using the Guile
>Netlink package. I added guile-netlink to my operating system
>definition's packages field.
>
>Running guile as root using su, I get the following error:
>
> scheme@(guile-user)> (use-modules (ip link))
> scheme@(guile-user)> (link-add "ens3.12" "vlan" #:type-args '((id . 12)))
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> ERROR:
> 1. &netlink-response-error: 22
>
> Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
> scheme@(guile-user) [1]>
>
>
>The documentation [1] states:
>
> Scheme Procedure: link-add name type [#:type-args '()]
>
> Add a new link with given name and type. Additional arguments can be passed to control the state of the link at creation. type-args is an association list containing additional values for the given type.
>
> When type is "vlan", type-args can contain a number associated with 'id: the VLAN id to be created.
>
>It is unclear to me how to specify the hardware interface for which the
>VLAN link is to be added. Maybe I am missing something?
>
>Calling the above command with "ens3" instead of "ens3.12" results in
>the same error.
>
>I am able to add the link manually with iproute2 by executing
>
> ip link add link ens3 name ens3.12 type vlan id 12
>
>and was able to verifiy that it works by assigning a static IPv4
>address.
>
>If I run another command given in the documentation [1],
>
> (link-add "v0p0" "veth" #:type-args '((peer . "v0p1")))
>
>that returns #t and creates the interface pair. So I think, Guile
>Netlink generally works with my configuration.
>
>Has someone got a working code sample showing how to add VLANs using
>Guile Netlink?
>I don't understand the internals of the Netlink kernel interface yet. A
>comment in the source code [2] says that every link type except veth and
>vlan is not implemented in Guile Netlink. I am not sure whether the
>functionality I whish to use is supported at all.
>
>My goal is to specify VLAN links in the links field of a
>static-networking record.
>
>Im running Guix inside QEMU-KVM. If that would help, I am willing to
>test this on real hardware.
>
>Thanks for advice.
>
>
>Greetings
>Niklas
>
>[1]: https://git.lepiller.eu/guile-netlink/manual/html_node/Link.html
>[2]: https://git.lepiller.eu/guile-netlink/tree/-/ip/link.scm
>
next prev parent reply other threads:[~2022-01-11 14:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-10 11:29 Add VLAN with Guile Netlink link-add Niklas Schmidt
2022-01-11 13:01 ` Julien Lepiller [this message]
2022-01-11 19:30 ` Niklas Schmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DFE5F0D6-6F86-4B1D-A423-67A64505C70E@lepiller.eu \
--to=julien@lepiller.eu \
--cc=help-guix@gnu.org \
--cc=snlabs@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).