all lists on 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal