From: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>
To: "pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH ifupdown2] patch: fix ipv6 slaac on bridge
Date: Wed, 9 Aug 2023 17:16:06 +0000 [thread overview]
Message-ID: <e393db71ec62fc23df9198d9e92ea8182854ce21.camel@groupe-cyllene.com> (raw)
In-Reply-To: <20230627105651.1927274-1-aderumier@odiso.com>
Hi,
could it be possible to apply this patch ?
some users are still waiting for have working slaac
https://forum.proxmox.com/threads/mgmt-lan-with-slaac-from-a-delegate-prefix.123969/
Le mardi 27 juin 2023 à 12:56 +0200, Alexandre Derumier a écrit :
> reported on the forum
> https://antiphishing.cetsi.fr/proxy/v3?i=WjB4M1dJWGJJMnNGTHV5MuAPDwEdQko7KGyaWIIeme0&r=Skk2OVhvdXl2cm1uOWJtRKZXDrAi7oKVS1onnLf-_Wczd58Jf89GqHNsiUfzdlXTIlsgAbazPx-o0Y0wd8PLxg&f=M2FwZHlGNnU1aUlkc09ZNNuAtV8OGeBQmVUOSCMxZYi0WAdbSPQQhYaGwWCxSpDL_rpYEExEcQs0YHFUT9yrXQ&u=https%3A//forum.proxmox.com/threads/hi-i-stumble-upon-ipv6-slaac-issue-after-updating-to-pve8-0-3.129553&k=CXOq
>
> the sysctl accept_ra|autoconf was not applied on bridge interfaces
>
> Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
> ---
> ...6-slaac-support-inet6-auto-accept_ra.patch | 45 +++++++++++++----
> --
> 1 file changed, 32 insertions(+), 13 deletions(-)
>
> diff --git a/debian/patches/upstream/0001-add-ipv6-slaac-support-
> inet6-auto-accept_ra.patch b/debian/patches/upstream/0001-add-ipv6-
> slaac-support-inet6-auto-accept_ra.patch
> index 1e7e126..9e1bb13 100644
> --- a/debian/patches/upstream/0001-add-ipv6-slaac-support-inet6-auto-
> accept_ra.patch
> +++ b/debian/patches/upstream/0001-add-ipv6-slaac-support-inet6-auto-
> accept_ra.patch
> @@ -1,4 +1,4 @@
> -From ac2462f9426fcfcecf3e9d9647c5bb128b44a111 Mon Sep 17 00:00:00
> 2001
> +From 76721af329cab107e339fef5bc783dacb32132dc Mon Sep 17 00:00:00
> 2001
> From: Alexandre Derumier <aderumier@odiso.com>
> Date: Tue, 9 May 2023 17:48:14 +0200
> Subject: [PATCH] add ipv6 slaac support (inet6 auto && accept_ra)
> @@ -13,7 +13,7 @@
> https://antiphishing.cetsi.fr/proxy/v3?i=WjB4M1dJWGJJMnNGTHV5MuAPDwEdQko7KGyaWIIeme0&r=Skk2OVhvdXl2cm1uOWJtRKZXDrAi7oKVS1onnLf-_Wczd58Jf89GqHNsiUfzdlXTIlsgAbazPx-o0Y0wd8PLxg&f=M2FwZHlGNnU1aUlkc09ZNNuAtV8OGeBQmVUOSCMxZYi0WAdbSPQQhYaGwWCxSpDL_rpYEExEcQs0YHFUT9yrXQ&u=https%3A//github.com/CumulusNetworks/ifupdown2/pull/259&k=CXOq
> Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
> ---
> etc/network/ifupdown2/addons.conf | 2 +
> - ifupdown2/addons/address.py | 104 +++++++++++++--
> + ifupdown2/addons/address.py | 109 +++++++++++++--
> ifupdown2/addons/auto.py | 168
> ++++++++++++++++++++++++
> ifupdown2/addons/dhcp.py | 18 +--
> ifupdown2/ifupdown/iface.py | 4 +
> @@ -21,7 +21,7 @@ Signed-off-by: Alexandre Derumier
> <aderumier@odiso.com>
> ifupdown2/lib/nlcache.py | 63 ++++++++-
> ifupdown2/man/interfaces.5.rst | 9 ++
> ifupdown2/nlmanager/nlpacket.py | 24 +++-
> - 9 files changed, 368 insertions(+), 26 deletions(-)
> + 9 files changed, 373 insertions(+), 26 deletions(-)
> create mode 100644 ifupdown2/addons/auto.py
>
> diff --git a/etc/network/ifupdown2/addons.conf
> b/etc/network/ifupdown2/addons.conf
> @@ -45,7 +45,7 @@ index 726d63a..67de25f 100644
> down,address
> down,usercmds
> diff --git a/ifupdown2/addons/address.py
> b/ifupdown2/addons/address.py
> -index e71a26f..11e4512 100644
> +index e71a26f..473a089 100644
> --- a/ifupdown2/addons/address.py
> +++ b/ifupdown2/addons/address.py
> @@ -188,6 +188,19 @@ class address(AddonWithIpBlackList,
> moduleBase):
> @@ -59,7 +59,7 @@ index e71a26f..11e4512 100644
> + 'example': ['accept-ra 1']
> + },
> + 'autoconf': {
> -+ 'help': 'enable ipv6 slaac autoconfiguratoin',
> ++ 'help': 'enable ipv6 slaac autoconfiguration',
> + 'validvals': ['0', '1'],
> + 'default': '0',
> + 'example': ['autoconf 1']
> @@ -133,10 +133,11 @@ index e71a26f..11e4512 100644
> if netconf_ipv4_forwarding:
> self.sysctl_write_forwarding_value_to_proc(ifname,
> "ipv4", 0)
> if netconf_ipv6_forwarding:
> -@@ -979,6 +1014,41 @@ class address(AddonWithIpBlackList,
> moduleBase):
> - ifaceobj.status = ifaceStatus.ERROR
> - self.logger.error('%s: %s' %(ifaceobj.name,
> str(e)))
> +@@ -886,6 +921,43 @@ class address(AddonWithIpBlackList,
> moduleBase):
> + def sysctl_write_forwarding_value_to_proc(self, ifname, family,
> value):
> + self.write_file("/proc/sys/net/%s/conf/%s/forwarding" %
> (family, ifname), "%s\n" % value)
>
> ++ def _sysctl_slaac(self, ifaceobj):
> + addr_method = ifaceobj.addr_method
> + if addr_method not in ["auto"]:
> +
> @@ -171,11 +172,29 @@ index e71a26f..11e4512 100644
> + if not setting_default_value:
> + ifaceobj.status = ifaceStatus.ERROR
> + self.logger.error('%s: %s' %(ifaceobj.name,
> str(e)))
> ++
> ++
> + def _sysctl_config(self, ifaceobj):
> + setting_default_value = False
> + mpls_enable = ifaceobj.get_attr_value_first('mpls-enable');
> +@@ -912,6 +984,7 @@ class address(AddonWithIpBlackList, moduleBase):
> +
> + if (ifaceobj.link_kind & ifaceLinkKind.BRIDGE):
> + self._set_bridge_forwarding(ifaceobj)
> ++ self._sysctl_slaac(ifaceobj)
> + return
> + if not self.syntax_check_sysctls(ifaceobj):
> + return
> +@@ -979,6 +1052,8 @@ class address(AddonWithIpBlackList,
> moduleBase):
> + ifaceobj.status = ifaceStatus.ERROR
> + self.logger.error('%s: %s' %(ifaceobj.name,
> str(e)))
> +
> ++ self._sysctl_slaac(ifaceobj)
> +
> def process_mtu(self, ifaceobj, ifaceobj_getfunc):
>
> if ifaceobj.link_privflags &
> ifaceLinkPrivFlags.OPENVSWITCH:
> -@@ -1016,7 +1086,7 @@ class address(AddonWithIpBlackList,
> moduleBase):
> +@@ -1016,7 +1091,7 @@ class address(AddonWithIpBlackList,
> moduleBase):
> # no need to go further during perfmode (boot)
> return
>
> @@ -184,7 +203,7 @@ index e71a26f..11e4512 100644
> return
>
> if not user_configured_ipv6_addrgen:
> -@@ -1213,7 +1283,7 @@ class address(AddonWithIpBlackList,
> moduleBase):
> +@@ -1213,7 +1288,7 @@ class address(AddonWithIpBlackList,
> moduleBase):
> if not self.cache.link_exists(ifaceobj.name):
> return
> addr_method = ifaceobj.addr_method
> @@ -193,7 +212,7 @@ index e71a26f..11e4512 100644
> if ifaceobj.get_attr_value_first('address-
> purge')=='no':
> addrlist = ifaceobj.get_attr_value('address')
> for addr in addrlist or []:
> -@@ -1326,6 +1396,22 @@ class address(AddonWithIpBlackList,
> moduleBase):
> +@@ -1326,6 +1401,22 @@ class address(AddonWithIpBlackList,
> moduleBase):
> ifaceobjcurr.update_config_with_status('mpls-enable',
>
> running_mpls_enable,
> mpls_enable !=
> running_mpls_enable)
> @@ -216,7 +235,7 @@ index e71a26f..11e4512 100644
> return
>
> def query_check_ipv6_addrgen(self, ifaceobj, ifaceobjcurr):
> -@@ -1380,7 +1466,7 @@ class address(AddonWithIpBlackList,
> moduleBase):
> +@@ -1380,7 +1471,7 @@ class address(AddonWithIpBlackList,
> moduleBase):
>
> def _query_check_address(self, ifaceobj, ifaceobjcurr,
> ifaceobj_getfunc):
> """ ifquery-check: attribute: "address" """
> @@ -622,5 +641,5 @@ index 8972c76..0090529 100644
>
> # nlmanager doesn't support multiple
> kernel version
> --
> -2.30.2
> +2.39.2
>
next prev parent reply other threads:[~2023-08-09 17:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-27 10:56 Alexandre Derumier
2023-08-09 17:16 ` DERUMIER, Alexandre [this message]
2023-08-10 7:09 ` [pve-devel] applied: " Wolfgang Bumiller
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e393db71ec62fc23df9198d9e92ea8182854ce21.camel@groupe-cyllene.com \
--to=alexandre.derumier@groupe-cyllene.com \
--cc=pve-devel@lists.proxmox.com \
/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