help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Add VLAN with Guile Netlink link-add


From: Julien Lepiller
Subject: Re: Add VLAN with Guile Netlink link-add
Date: Tue, 11 Jan 2022 14:01:08 +0100
User-agent: K-9 Mail for Android

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
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]