guix-devel
[Top][All Lists]
Advanced

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

Guile Netlink 1.0 released


From: Julien Lepiller
Subject: Guile Netlink 1.0 released
Date: Sun, 14 Mar 2021 20:31:10 +0100

Hi!

I'm proud to announce the first release of Guile Netlink!

  git clone https://git.lepiller.eu/git/guile-netlink
  cd guile-netlink
  git checkout 1.0 # or 29ff43368f1cc2d10a7e5f09dc9f80f85582d6ee
  git tag -v 1.0

The 'git tag -v' command check the authenticity of your checkout. You
may need to retrieve the signing key first:

  gpg --keyserver pool.sks-keyservers.net \
      --recv-keys 1EFB09091F17D28CCBF9B13A53D457B2D636EE82

Guile Netlink provides three components:

- A helper library for implementing netlink protocols
- An implementation of rtnetlink, one of the netlink protocols. It is
  used to query and alter the state of the network stack in Linux.
- A high-level API implemented on top of rtnetlink and inspired by
  iproute2's commands

Here are a few examples (most of which will only work as root and will
really modify your network), extracted from the manual:

  ;; same as "ip l add v0p0 type veth peer v0p1"
  (link-add "v0p0" "veth" #:type-args '((peer . "v0p1")))

  ;; same as "ip a add 192.0.2.15/24 dev enp1s0
  (addr-add "enp1s0" "192.0.2.15/24")
  (addr-add "enp1s0" "2001:db8::1a4c/64" #:ipv6? #t)

  ;; removing the previous addresses, as in "ip a del 192.0.2.15/24 dev
  ;; enp1s0"
  (addr-del "enp1s0" "192.0.2.15/24")
  (addr-del "enp1s0" "2001:db8::1a4c/64" #:ipv6? #t)

  ;; same as "ip a" or "ip addr show"
  (addr-show)

  ;; same as "ip r add default via 192.0.2.1 dev enp1s0"
  (route-add "default" #:device "enp1s0" #:via "192.0.2.1")
  ;; same as "ip r add 192.0.2.0/24 dev enp1s0 src 192.0.2.15"
  (route-add "192.0.2.0/24" #:device "enp1s0" #:src "192.0.2.15")

Hopefully, the high-level API can be used on Linux to replace our
current implementation of container networking and static networking
service type.

You will find the complete documentation online at
https://git.lepiller.eu/guile-netlink/manual, the code is available at
https://git.lepiller.eu/guile-netlink (note that the clone URL is
different, see above) and you can report any issue, patch and ideas to
me, by email.

Hope you'll enjoy!

Julien



reply via email to

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