public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Moayad Almalat" <m.almalat@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [PATCH proxmox-widget-toolkit v2] fix #2685: ui: allow 4-bit mac_prefix suffix
Date: Tue, 24 Feb 2026 16:13:44 +0100	[thread overview]
Message-ID: <DGNAFY0EC8ST.RQLF93I1EODH@proxmox.com> (raw)
In-Reply-To: <21c83baa-0e89-4b6f-a836-fa51ae795775@proxmox.com>

On Tue Feb 24, 2026 at 3:29 PM CET, Moayad Almalat wrote:
> Hi,
>
> Thank you!
>
> On 2/24/26 2:00 PM, Fabian Grünbichler wrote:
>  > typo in the subject - a 4-bit prefix makes no sense 😉
> In the subject I meant to say 4-bit suffix extension to mac_prefix. I
> can send v3 if needed.
>  >
>  > On February 24, 2026 1:05 pm, Moayad Almalat wrote:
>  >> Signed-off-by: Moayad Almalat <m.almalat@proxmox.com>
>  >> ---
>  >>   src/Toolkit.js | 2 +-
>  >>   1 file changed, 1 insertion(+), 1 deletion(-)
>  >>
>  >> diff --git a/src/Toolkit.js b/src/Toolkit.js
>  >> index d4e579b..39513b8 100644
>  >> --- a/src/Toolkit.js
>  >> +++ b/src/Toolkit.js
>  >> @@ -72,7 +72,7 @@ Ext.apply(Ext.form.field.VTypes, {
>  >>       MacAddressText: gettext('Example') + ': 01:23:45:67:89:ab',
>  >>         MacPrefix: function (v) {
>  >> -        return /^[a-f0-9][02468ace](?::[a-f0-9]{2}){0,2}:?$/i.test(v);
>  >> +        return
> /^(?:[a-f0-9][02468ace](?::[a-f0-9]{2}){0,2}:?|[a-f0-9][02468ace](?::[a-f0-9]{2}){2}:[a-f0-9])$/i.test(v);
>  >
>  > I think this is not quite correct - the [02468ace] part here is for only
>  > allowing unicast addresses, but that only applies to the first octet!
>  >
>  > the old regex allowed 1-3 octets (with the first octet always being
>  > restricted to not allow multicast), and you want to extend it to 4
>  > octets AFAIU? that would simply require replacing the `{0,2}` with a
>  > `{0,3}`, I think?
>  >
>  > but note that the backend in PVE has the same checks and would need to
>  > be adapted as well..
>  >
> The unicast restrection applies only to the first octet, both
> alternatives start at the beginning, so that part is unchanged.
>
> The intent is to allow a single extra hex nibble after 3 full octets
> e.g., `BC:24:11:0` and I tested that in 3 LXC:
> ```
> root@pve-a:/tmp# pct config 102 | grep hwaddr
> ....hwaddr=BC:24:11:0E:0B:F3,ip=dhcp,ip6=auto,type=veth
> root@pve-a:/tmp# pct config 103 | grep hwaddr
> ....hwaddr=BC:24:11:0A:DD:DD,ip=dhcp,ip6=auto,type=veth
> root@pve-a:/tmp# pct config 104 | grep hwaddr
> ....hwaddr=BC:24:11:06:58:1C,ip=dhcp,ip6=auto,type=veth
> root@pve-a:/tmp#
> ```
>

the regex is more confusing than it needs to be tho. why not simply do
the the following:

/^[a-f0-9][02468ace](?::[a-f0-9]{2}){0,2}(?::[a-f0-9]?)?$/i

this simply extends the existing regex with the additional prefix
instead of duplicating most of the regex. also i think what fabian meant
is, that this setting is also validated on the backend. so the regex
will need to be adapted in `pve_verify_mac_prefix()` in
`pve-cluster/src/PVE/DataCenterConfig.pm` for this to work as intended.

please also adjust the commit message to something that reflects the
intent better too. thanks!

>  >>       },
>  >>       MacPrefixMask: /[a-fA-F0-9:]/,
>  >>       MacPrefixText:
>  >> --
>  >> 2.47.3
>  >>
>  >>
>  >>





  reply	other threads:[~2026-02-24 15:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-24 12:05 Moayad Almalat
2026-02-24 13:00 ` Fabian Grünbichler
2026-02-24 14:29   ` Moayad Almalat
2026-02-24 15:13     ` Shannon Sterz [this message]
2026-02-24 15:27 ` Maximiliano Sandoval

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=DGNAFY0EC8ST.RQLF93I1EODH@proxmox.com \
    --to=s.sterz@proxmox.com \
    --cc=m.almalat@proxmox.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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal