<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HRio</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HRio"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/HRio"/>
	<updated>2026-05-03T18:56:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.19.0&amp;diff=25861</id>
		<title>Release Notes for Alpine 3.19.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.19.0&amp;diff=25861"/>
		<updated>2023-12-06T18:35:51Z</updated>

		<summary type="html">&lt;p&gt;HRio: /* Upgrades */ add linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Base System ==&lt;br /&gt;
&lt;br /&gt;
=== iptables-nft ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/sbin/iptables{,-save,-restore}&amp;lt;/code&amp;gt; symlinks now point to xtables-nft-multi instead of xtables-legacy-multi. This means they use the nftables kernel backend instead of the legacy iptables one.&lt;br /&gt;
&lt;br /&gt;
Since the new iptables- binaries also don&#039;t use the iptables backend, to work with any existing rules and save them, you need to install {{pkg|iptables-legacy}} and use &amp;lt;code&amp;gt;iptables-legacy-save&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Because mixing backends is not supported, you should reboot your system if you have to use the iptables commands after upgrading.&lt;br /&gt;
&lt;br /&gt;
=== netns ===&lt;br /&gt;
&lt;br /&gt;
The OpenRC package contains a patch to make it possible to start most services in netns namespaces. See also [[Netns|netns]].&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
&lt;br /&gt;
=== HashiCorp packages ===&lt;br /&gt;
&lt;br /&gt;
Due to [https://www.hashicorp.com/blog/hashicorp-adopts-business-source-license the relicensing of HashiCorp software] to [https://spdx.org/licenses/BUSL-1.1.html BUSL-1.1], a non-Open-Source license, the following software have been removed from Alpine:&lt;br /&gt;
&lt;br /&gt;
* Consul&lt;br /&gt;
* Nomad&lt;br /&gt;
* Packer&lt;br /&gt;
* Terraform&lt;br /&gt;
* Vault&lt;br /&gt;
&lt;br /&gt;
Our discussion on the topic can be found [https://gitlab.alpinelinux.org/alpine/aports/-/issues/15193 here].&lt;br /&gt;
&lt;br /&gt;
{{pkg|opentofu}}, a fork of Terraform, is available in our testing repository for users of our rolling release, edge.&lt;br /&gt;
&lt;br /&gt;
=== Java 21 ===&lt;br /&gt;
&lt;br /&gt;
The latest LTS java release, openjdk21,  is now available in the community repository.&lt;br /&gt;
&lt;br /&gt;
=== KDE ===&lt;br /&gt;
&lt;br /&gt;
KDE Applications have been upgraded from 23.04.x to 23.08.x. KDE Frameworks have been upgraded from 5.105.0 to 5.112.0.&lt;br /&gt;
Note that the KDE Frameworks packages have been renamed to add a 5 suffix in preparation for the upcoming KDE 6 release in the next Alpine release. Everything should automatically be upgraded properly but if problems occur make sure to check if the right renamed packages are installed.&lt;br /&gt;
&lt;br /&gt;
=== GNOME ===&lt;br /&gt;
&lt;br /&gt;
GNOME packages have been updated to 45. As part of that release, Cheese has been replaced by Snapshot, and Eye of GNOME by Loupe as the default apps for taking and seeing pictures, respectively. In additions, GNOME Photos was dropped as being mostly unmaintained.&lt;br /&gt;
&lt;br /&gt;
=== Yggdrasil v0.5 ===&lt;br /&gt;
&lt;br /&gt;
{{pkg|yggdrasil}} was upgraded to 0.5.x and the new routing scheme is incompatible with previous versions. &amp;quot;Nodes running this new version &#039;&#039;&#039;will not&#039;&#039;&#039; be able to peer with earlier versions of Yggdrasil&amp;quot; ([https://github.com/yggdrasil-network/yggdrasil-go/releases/tag/v0.5.0 v0.5.0 release notes], [https://yggdrasil-network.github.io/2023/10/22/upcoming-v05-release.html v0.5 blog post]).&lt;br /&gt;
&lt;br /&gt;
== Upgrades ==&lt;br /&gt;
&lt;br /&gt;
* Linux 6.6&lt;br /&gt;
* GCC 13&lt;br /&gt;
* LLVM 17&lt;br /&gt;
* Kea 2.4&lt;br /&gt;
* Xen 4.18&lt;br /&gt;
* Git 2.43&lt;br /&gt;
* Perl 5.38&lt;br /&gt;
* PHP 8.3&lt;br /&gt;
* PostgreSQL 16&lt;br /&gt;
* SQLite 3.44&lt;br /&gt;
* Redis 7.2&lt;br /&gt;
* Node.js (lts) 20.10&lt;br /&gt;
* Node.js (current) 21.4&lt;br /&gt;
* QEMU 8.1&lt;br /&gt;
* Ceph 18.2&lt;br /&gt;
* GNOME 45&lt;br /&gt;
* LXQt 1.4&lt;br /&gt;
* wlroots 0.17&lt;br /&gt;
* Go 1.21&lt;br /&gt;
* Rust 1.72&lt;br /&gt;
* Crystal 1.10&lt;br /&gt;
* Racket 8.11&lt;br /&gt;
* ECL 23.9.9&lt;br /&gt;
* Erlang 26&lt;br /&gt;
* zlib 1.3&lt;br /&gt;
* libsodium 1.0.19&lt;br /&gt;
* ICU 74.1&lt;br /&gt;
* Protobuf 24.4&lt;br /&gt;
* fmt 10&lt;br /&gt;
* PipeWire 1.0.0&lt;br /&gt;
&lt;br /&gt;
== Raspberry pi ==&lt;br /&gt;
&lt;br /&gt;
The [https://pkgs.alpinelinux.org/packages?name=linux-rpi&amp;amp;branch=edge linux-rpi] has been simplified. There is now a single kernel flavor for each architecture. This means that the kernels [https://pkgs.alpinelinux.org/packages?name=linux-rpi2&amp;amp;branch=v3.18 linux-rpi2] and [https://pkgs.alpinelinux.org/packages?name=linux-rpi4&amp;amp;branch=v3.18 linux-rpi4] are replaced with [https://pkgs.alpinelinux.org/packages?name=linux-rpi&amp;amp;branch=edge linux-rpi]. The {{Path|config.txt}} is now generated by [https://pkgs.alpinelinux.org/packages?name=raspberrypi-bootloader-common&amp;amp;branch=edge raspberrypi-bootloader-common].&lt;br /&gt;
&lt;br /&gt;
[[Category:News]]&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.16.0&amp;diff=21904</id>
		<title>Release Notes for Alpine 3.16.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Release_Notes_for_Alpine_3.16.0&amp;diff=21904"/>
		<updated>2022-05-23T08:24:44Z</updated>

		<summary type="html">&lt;p&gt;HRio: mention Xen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Important changes ==&lt;br /&gt;
&lt;br /&gt;
=== /tmp mounted as tmpfs ===&lt;br /&gt;
&lt;br /&gt;
Previously &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; was just part of the root filesystem and was cleaned on boot via the bootmisc openrc service script. In v3.16, on new installation, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; will be mounted as tmpfs. &lt;br /&gt;
&lt;br /&gt;
=== ICU data split ===&lt;br /&gt;
&lt;br /&gt;
TODO(jirutka): Describe this change.&lt;br /&gt;
&lt;br /&gt;
* {{pkg|icu-data-en}} (2.6 MiB) - Stripped down ICU data with only en_US/GB locale and no legacy charset converters (installed by default with {{pkg|icu-libs}}).&lt;br /&gt;
* {{pkg|icu-data-full}} (29 MiB) - Full ICU data.&lt;br /&gt;
&lt;br /&gt;
{{pkg|nodejs}} is now compiled with system ICU.&lt;br /&gt;
&lt;br /&gt;
=== NetworkManager plugins === &lt;br /&gt;
&lt;br /&gt;
NetworkManager plugins (e.g. WiFi or ADSL support) have been moved into subpackages and are not installed by default. If you use some of them, install the corresponding packages:&lt;br /&gt;
&lt;br /&gt;
* WiFi: {{pkg|networkmanager-wifi}}&lt;br /&gt;
* ADSL: {{pkg|networkmanager-adsl}}&lt;br /&gt;
* Mobile broardband: {{pkg|networkmanager-wwan}}&lt;br /&gt;
* BlueTooth: {{pkg|networkmanager-bluetooth}}&lt;br /&gt;
* PPP: {{pkg|networkmanager-ppp}}&lt;br /&gt;
* Open vSwitch: {{pkg|networkmanager-ovs}}&lt;br /&gt;
&lt;br /&gt;
== New features and noteworthy new packages ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed not showing boot output using consoles with drivers compiled as modules ===&lt;br /&gt;
&lt;br /&gt;
Fixed OpenRC output not being shown on VirtIO consoles.&lt;br /&gt;
&lt;br /&gt;
=== SDL 1.2 migrated to SDL 1.2 compat ===&lt;br /&gt;
&lt;br /&gt;
The old sdl package (SDL 1.2) was moved from community to testing and as such won&#039;t be part of Alpine 3.16. Applications that use sdl instead use sdl12-compat, which is based on the much more well-maintained sdl2 (SDL 2.0). This results in various improvements such as support for Wayland, PipeWire, and more gamepads.&lt;br /&gt;
&lt;br /&gt;
=== utmp ===&lt;br /&gt;
&lt;br /&gt;
TODO(jirutka): Write something…&lt;br /&gt;
&lt;br /&gt;
https://skarnet.org/software/utmps/&lt;br /&gt;
&lt;br /&gt;
The following packages are built with utmps:&lt;br /&gt;
&lt;br /&gt;
* busybox&lt;br /&gt;
* dropbear&lt;br /&gt;
* mingetty&lt;br /&gt;
* openssh&lt;br /&gt;
* util-linux&lt;br /&gt;
&lt;br /&gt;
=== login-utils ===&lt;br /&gt;
&lt;br /&gt;
Allow users to choose between login utils from util-linux ({{pkg|util-linux-login}}) and shadow ({{pkg|shadow-login}}).&lt;br /&gt;
&lt;br /&gt;
See ce0392393120a7077e99d50dec6f8574efe7f09a&lt;br /&gt;
&lt;br /&gt;
TODO(jirutka): Polish it.&lt;br /&gt;
&lt;br /&gt;
=== Zsh - modular zshrc and plugins support ===&lt;br /&gt;
&lt;br /&gt;
TODO(jirutka): Write description.&lt;br /&gt;
&lt;br /&gt;
=== doas-sudo-shim ===&lt;br /&gt;
&lt;br /&gt;
If you are hesitant to switch to {{pkg|doas}} because you have &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; too deep in your muscle memory, hesitant no more! Just install {{pkg|doas-sudo-shim}} and you can continue to use the &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; command, but without its security issues and bloat.&lt;br /&gt;
&lt;br /&gt;
== Significant updates ==&lt;br /&gt;
&lt;br /&gt;
* LLVM 13&lt;br /&gt;
* Python 3.10&lt;br /&gt;
* QEMU 7&lt;br /&gt;
* Ruby 3.1&lt;br /&gt;
* Rust 1.60&lt;br /&gt;
* R 4.2&lt;br /&gt;
* Sway 1.7&lt;br /&gt;
* Xen 4.16.1&lt;br /&gt;
&lt;br /&gt;
=== KDE ===&lt;br /&gt;
&lt;br /&gt;
Plasma has been upgraded from 5.23 to 5.24.&lt;br /&gt;
&lt;br /&gt;
KDE applications (the release service) have been upgraded from 21.08 to 22.04 and KDE Frameworks have been upgraded from 5.88 to 5.93.&lt;br /&gt;
&lt;br /&gt;
Plasma Mobile Gear have been upgraded from 21.12 to 22.04.&lt;br /&gt;
&lt;br /&gt;
=== GNOME 42 ===&lt;br /&gt;
&lt;br /&gt;
Most GNOME packages have been upgraded to version 42.&lt;br /&gt;
&lt;br /&gt;
=== Python upgraded to 3.10 ===&lt;br /&gt;
&lt;br /&gt;
Python has been upgraded to version 3.10, and all python modules have been rebuilt against python 3.10. Make sure that all custom python3 modules are built against python3.10&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18168</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18168"/>
		<updated>2020-11-06T14:06:56Z</updated>

		<summary type="html">&lt;p&gt;HRio: add #&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
    up ip route add default table 42 via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Name route tables ==&lt;br /&gt;
&lt;br /&gt;
Routing tables can be named i.e. 42 can be named mgmt be editing /etc/iproute2/rt_tables or creating and separate config (e.g. /etc/iproute2/rt_tables.d/vrf.conf)&lt;br /&gt;
&lt;br /&gt;
Example vrf.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
42      mgmt&lt;br /&gt;
43      int&lt;br /&gt;
44      ext&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then instead of having to remember that 42 is is used for mgmt it can be used directly with ip route, example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ip route add default table mgmt via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running network clients in a specific VRF ==&lt;br /&gt;
&lt;br /&gt;
For ping is a simple as specifying a local interface that is already bound to a specific vrf&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ping -I eth0 &amp;lt;ip to ping&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For other process like apk we use the ip vrf command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ip vrf exec vrf-mgmt apk update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18167</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18167"/>
		<updated>2020-11-06T14:06:19Z</updated>

		<summary type="html">&lt;p&gt;HRio: /* Running netowork clients in a specific VRF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
    up ip route add default table 42 via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Name route tables ==&lt;br /&gt;
&lt;br /&gt;
Routing tables can be named i.e. 42 can be named mgmt be editing /etc/iproute2/rt_tables or creating and separate config (e.g. /etc/iproute2/rt_tables.d/vrf.conf)&lt;br /&gt;
&lt;br /&gt;
Example vrf.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
42      mgmt&lt;br /&gt;
43      int&lt;br /&gt;
44      ext&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then instead of having to remember that 42 is is used for mgmt it can be used directly with ip route, example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ip route add default table mgmt via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running network clients in a specific VRF ==&lt;br /&gt;
&lt;br /&gt;
For ping is a simple as specifying a local interface that is already bound to a specific vrf&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ping -I eth0 &amp;lt;ip to ping&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For other process like apk we use the ip vrf command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip vrf exec vrf-mgmt apk update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18166</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18166"/>
		<updated>2020-11-06T14:06:11Z</updated>

		<summary type="html">&lt;p&gt;HRio: running interactive commands&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
    up ip route add default table 42 via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Name route tables ==&lt;br /&gt;
&lt;br /&gt;
Routing tables can be named i.e. 42 can be named mgmt be editing /etc/iproute2/rt_tables or creating and separate config (e.g. /etc/iproute2/rt_tables.d/vrf.conf)&lt;br /&gt;
&lt;br /&gt;
Example vrf.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
42      mgmt&lt;br /&gt;
43      int&lt;br /&gt;
44      ext&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then instead of having to remember that 42 is is used for mgmt it can be used directly with ip route, example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ip route add default table mgmt via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running netowork clients in a specific VRF ==&lt;br /&gt;
&lt;br /&gt;
For ping is a simple as specifying a local interface that is already bound to a specific vrf&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ping -I eth0 &amp;lt;ip to ping&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For other process like apk we use the ip vrf command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip vrf exec vrf-mgmt apk update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18165</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18165"/>
		<updated>2020-11-06T13:38:05Z</updated>

		<summary type="html">&lt;p&gt;HRio: again&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
    up ip route add default table 42 via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Name route tables ==&lt;br /&gt;
&lt;br /&gt;
Routing tables can be named i.e. 42 can be named mgmt be editing /etc/iproute2/rt_tables or creating and separate config (e.g. /etc/iproute2/rt_tables.d/vrf.conf)&lt;br /&gt;
&lt;br /&gt;
Example vrf.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
42      mgmt&lt;br /&gt;
43      int&lt;br /&gt;
44      ext&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then instead of having to remember that 42 is is used for mgmt it can be used directly with ip route, example&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ip route add default table mgmt via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18164</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18164"/>
		<updated>2020-11-06T13:37:48Z</updated>

		<summary type="html">&lt;p&gt;HRio: markdown to wiki :-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
    up ip route add default table 42 via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Name route tables ==&lt;br /&gt;
&lt;br /&gt;
Routing tables can be named i.e. 42 can be named mgmt be editing /etc/iproute2/rt_tables or creating and separate config (e.g. /etc/iproute2/rt_tables.d/vrf.conf)&lt;br /&gt;
&lt;br /&gt;
Example vrf.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
42      mgmt&lt;br /&gt;
43      int&lt;br /&gt;
44      ext&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then instead of having to remember that 42 is is used for mgmt it can be used directly with ip route, example&lt;br /&gt;
```&lt;br /&gt;
# ip route add default table mgmt via 1.2.3.1&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18163</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18163"/>
		<updated>2020-11-06T13:37:19Z</updated>

		<summary type="html">&lt;p&gt;HRio: about routing table names&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
    up ip route add default table 42 via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Name route tables ==&lt;br /&gt;
&lt;br /&gt;
Routing tables can be named i.e. 42 can be named mgmt be editing /etc/iproute2/rt_tables or creating and separate config (e.g. /etc/iproute2/rt_tables.d/vrf.conf)&lt;br /&gt;
&lt;br /&gt;
Example vrf.conf&lt;br /&gt;
```&lt;br /&gt;
42      mgmt&lt;br /&gt;
43      int&lt;br /&gt;
44      ext&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Then instead of having to remember that 42 is is used for mgmt it can be used directly with ip route, example&lt;br /&gt;
```&lt;br /&gt;
# ip route add default table mgmt via 1.2.3.1&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18162</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18162"/>
		<updated>2020-11-06T13:33:19Z</updated>

		<summary type="html">&lt;p&gt;HRio: fix route, gateway can not be used as the route ends up in the wrong table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
    up ip route add default table 42 via 1.2.3.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18161</id>
		<title>VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=VRF&amp;diff=18161"/>
		<updated>2020-11-06T12:44:59Z</updated>

		<summary type="html">&lt;p&gt;HRio: fix vrf-mgmt still in state down and swtich to $IFACE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VRF]] or Virtual Routing and Forwarding (or perhaps Virtual Routing Functions) provide virtualization of the routing table.  They are useful for isolating services and entire networks from each other while avoiding the complexity of network namespaces.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To make use of VRFs, you will need `iproute2` and a kernel that is capable of using eBPF installed.  Kernel 5.4.19-r1 and later are capable of using eBPF.&lt;br /&gt;
&lt;br /&gt;
== VRF creation ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to define VRFs is to add them to /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then associate specific interfaces with VRFs using pre-up commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 1.2.3.1&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VRF-based Service Isolation ==&lt;br /&gt;
&lt;br /&gt;
Services can be isolated to specific VRFs when running OpenRC 0.42.1-r4 or newer.  You can set the &amp;lt;code&amp;gt;$vrf&amp;lt;/code&amp;gt; variable in an &amp;lt;code&amp;gt;/etc/conf.d&amp;lt;/code&amp;gt; file for a service to isolate it in most cases.&lt;br /&gt;
&lt;br /&gt;
For example, with sshd:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &#039;vrf=&amp;quot;vrf-mgmt&amp;quot;&#039; &amp;gt;&amp;gt; /etc/conf.d/sshd&lt;br /&gt;
# rc-service sshd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User_talk:HRio&amp;diff=18160</id>
		<title>User talk:HRio</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User_talk:HRio&amp;diff=18160"/>
		<updated>2020-11-06T10:03:24Z</updated>

		<summary type="html">&lt;p&gt;HRio: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:VRF&amp;diff=18159</id>
		<title>Talk:VRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:VRF&amp;diff=18159"/>
		<updated>2020-11-06T10:02:58Z</updated>

		<summary type="html">&lt;p&gt;HRio: vrf-mgmt not UP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seems that vrf-mgmt is not end up in state UP. Needed to do like follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 1.2.3.1&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User_talk:HRio&amp;diff=18158</id>
		<title>User talk:HRio</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User_talk:HRio&amp;diff=18158"/>
		<updated>2020-11-06T10:01:33Z</updated>

		<summary type="html">&lt;p&gt;HRio: vrf-mgmt not UP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seems that vrf-mgmt is not end up in state UP. Needed to do like follows&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto vrf-mgmt&lt;br /&gt;
iface vrf-mgmt inet manual&lt;br /&gt;
    pre-up ip link add $IFACE type vrf table 42&lt;br /&gt;
    up ip link set dev $IFACE up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 1.2.3.4&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 1.2.3.1&lt;br /&gt;
    pre-up ip link set $IFACE master vrf-mgmt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:Release_Notes_for_Alpine_3.12.0&amp;diff=17779</id>
		<title>Talk:Release Notes for Alpine 3.12.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:Release_Notes_for_Alpine_3.12.0&amp;diff=17779"/>
		<updated>2020-07-03T13:33:52Z</updated>

		<summary type="html">&lt;p&gt;HRio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Should we not mention that the python package needs to be removed (apk del python) and python2 and/or python3 must be installed? if the python package is still installed the latest update to python3 (3.8.3) will never be installed with apk upgrade.&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Talk:Release_Notes_for_Alpine_3.12.0&amp;diff=17778</id>
		<title>Talk:Release Notes for Alpine 3.12.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Talk:Release_Notes_for_Alpine_3.12.0&amp;diff=17778"/>
		<updated>2020-07-03T13:33:29Z</updated>

		<summary type="html">&lt;p&gt;HRio: apt del python ?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Should we not mention that the python package needs to be removed (apk del python) and python2 and/or python3 must be installed? if the python package is not installed the latest update to python3 (3.8.3) will never be installed with apk upgrade.&lt;/div&gt;</summary>
		<author><name>HRio</name></author>
	</entry>
</feed>